Mysql 按小时分组,显示日期范围内每天的明细
我正在尝试创建一个查询,以显示与按小时分组的财务合同相关的潜在客户细分 以下是我到目前为止几个小时的一个例子:Mysql 按小时分组,显示日期范围内每天的明细,mysql,date,Mysql,Date,我正在尝试创建一个查询,以显示与按小时分组的财务合同相关的潜在客户细分 以下是我到目前为止几个小时的一个例子: SELECT CONCAT(HOUR(received), ':00-', HOUR(received)+1, ':00') AS Hours, COUNT(*) as `leads` FROM (digital_lead) WHERE `received` BETWEEN '2014-11-01 00:00:00' AND '2014-11-24 00:00:00' GROUP B
SELECT CONCAT(HOUR(received), ':00-', HOUR(received)+1, ':00') AS Hours,
COUNT(*) as `leads`
FROM (digital_lead)
WHERE `received` BETWEEN '2014-11-01 00:00:00' AND '2014-11-24 00:00:00'
GROUP BY HOUR(received)
结果是
Hours usage
0:00-1:00 36
1:00-2:00 25
2:00-3:00 16
3:00-4:00 4
4:00-5:00 7
5:00-6:00 8
6:00-7:00 13 // etc all the way to 23:00 - 24:00
好的-这似乎是可行的,但是,它在BETWEEN
语句中设置的期间内聚合了该时段的所有Lead
。我希望能够显示期间范围内每天每小时的明细
这看起来像是:
Date Hours leads
2014-11-01
0:00-1:00 36
1:00-2:00 25
2:00-3:00 16
3:00-4:00 4
4:00-5:00 7
5:00-6:00 8
6:00-7:00 13 // etc all the way to 23:00 - 24:00
因此,将显示每个日期,然后显示当天的小时数,依此类推
谢谢。按日期分组:
SELECT DATE(received), HOUR(received), ...
...
GROUP BY DATE(received), HOUR(received)
由于您只按小时进行分组(),因此基本上
Hour
1 sum of leads in hour 1 of jan 1, jan 2, jan 3, ... dec 31
2 sum of leads in hour 2 of jan 1, jan 2, jan 3, ... dec 31
而不是
Jan 1 Hour 1 sum of leads for just that one hour on the one day
Jan 1 Hour 2 sum of leads for just that one hour on the one day
..
Dec 31 Hour 23 sum of leads
如果某一天没有一个小时,你想显示零吗?@fthiella-如果可能的话,我也想显示每小时的零结果。谢谢汉克·马克,这帮了大忙。我可以用同样的方法按天、周、月和年分组吗?