gpt4 book ai didi

sql - 查询以在特定条件下选择限制

转载 作者:行者123 更新时间:2023-12-05 03:27:29 28 4
gpt4 key购买 nike

在我的表中,我有“电子邮件”列。我想选择 1000 条数据,其中最多 100 封电子邮件是“gmail”。有什么方法可以写一个查询来获取数据吗?

我正在做的是创建两个查询,然后合并它们。

SELECT email from my_table where email not like '%@gmail.%' limit 900;
SELECT email from my_table where email like '%@gmail.%' limit 100;

最佳答案

一个简单的 union all 应该就是了。但是,为了确保您得到恰好 1000 行(如果有超过 1000 行但少于 100 行是@gmail),您可以这样做:

with u as 
(SELECT email from my_table where email like '%@gmail.%' limit 100)
select * from u
union all
(SELECT email from my_table
where email not like '%@gmail.%'
limit 1000 - (select count(*) from u));

关于sql - 查询以在特定条件下选择限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71479694/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com