gpt4 book ai didi

mysql - 在同一个查询中选择全部和一些

转载 作者:太空宇宙 更新时间:2023-11-03 10:59:17 24 4
gpt4 key购买 nike

我有这个模式

Table Foo
user_id | time_dif | tool
1 | 1 | flurry
1 | 0 | flurry
1 | 15 | flurry
1 | 4 | flurry
1 | 5 | topler

我想要的是同时执行这两项操作的查询,不幸的是我不知道如何将它们结合起来...

select count (user_id), tool  from Foo group by tool;
> 4 , flurry
> 1 , topler

select count(user_id) from Foo where time_diff > 2 group by tool
> 2 , flurry
> 1 , topler

我想要一个将这两者结合在一起的查询,并给我这样的结果:

> 4 , 2 , flurry
> 1 , 1 , topler

注意:我希望两个结果在同一行中返回...

最佳答案

您可以使用这样的查询:

SELECT
tool,
COUNT(user_id) cnt,
COUNT(CASE WHEN time_diff>2 THEN user_id END) cnt2
FROM
Foo
GROUP BY
tool

如果time_diff>2,CASE WHEN会返回user_id,否则为NULL,COUNT只会统计非空值。请看 fiddle here .

关于mysql - 在同一个查询中选择全部和一些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17209561/

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