考虑下表:
msg_id _time
-------------
1 13:32
2 13:56
3 14:05
4 15:00
5 15:17
6 15:28
7 16:40
我目前正在汇总每小时的消息数量,如下所示:
SELECT HOUR(_time) AS hour, COUNT(msg_id) AS cnt FROM messages GROUP BY hour
ORDER BY hour
这会产生如下结果集:
hour cnt
---------
13 2
14 1
15 3
16 1
然而,我想要的是每半小时的计数:
hour cnt
----------
13:30 2
14:00 1
14:30 0
15:00 3
15:30 0
16:00 0
16:30 1
使这成为可能的查询是什么?如有必要,我想我可以使用半小时时间(00:00、00:30、01:00、01:30、... 23:00、23:30)来制作一张桌子,但也不喜欢。(而且我仍然不知道如何使用该表)。
任何帮助是极大的赞赏 :-)