gpt4 book ai didi

具有两个计数的 MySQL GROUP BY

转载 作者:太空宇宙 更新时间:2023-11-03 12:30:27 26 4
gpt4 key购买 nike

我有一个表,其中包含我感兴趣的两列,created_at 和 total_time。我想执行一个查询,该查询按创建记录的星期几对记录进行分组,计算总计数以及 total_time > 5 的计数。

例如,如果星期五有 6 条记录,其中 4 条记录的时间 > 5,则查询应针对星期五返回以下内容:

星期五 | 6 | 4

我的日期和计数 > 5 是这样工作的:

SELECT
DAYNAME(created_at) as weekday,
COUNT(*) AS count
FROM my_table
WHERE
total_time > 5
GROUP BY weekday
ORDER BY count DESC

但是有没有办法让总计数也包括在内(不管 total_time 是多少)?

感谢任何建议。

谢谢

最佳答案

您可以获得两个计数,但使用以下方法:

SELECT DAYNAME(created_at) as weekday,
COUNT(*) AS count,
sum(case when total_time > 5 then 1 else 0 end) TimeOver5
FROM my_table
GROUP BY weekday
ORDER BY count DESC

参见 SQL Fiddle with Demo .

这使用带有 CASE 表达式的聚合函数来获取 total_time >5

所在的行

关于具有两个计数的 MySQL GROUP BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15662469/

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