我在MySql工作,我需要获取一个MySQL查询,其中包含按小时分组的表中的所有记录,但我还需要没有记录的时间。
例如,我有一个用户表,我希望按小时获得注册用户并给我这样的内容:
1:00 10
2:00 15
3:00 3
4:00 0
5:00 0
6:00 1
。
。
。
24:00 12
有谁知道怎么做?
答案 0 :(得分:0)
您可以创建一个hours
表,并在其中添加24条记录,每小时一条。
完成后,您可LEFT JOIN
使用users
表格,GROUP BY
与COUNT
一起使用HOUR
功能从日期中提取小时数(假设有问题的列是日期时间列,例如
SELECT h.hour, COUNT(u.*)
FROM hours h LEFT JOIN users u ON h.hour = HOUR(u.registered)
GROUP BY h.hour;