将MySQL结果分组购买时间

时间:2013-08-13 05:22:05

标签: mysql group-by

我无法让我的SQL结果完成我需要的操作。我已经读了一段时间了,我还有一点点障碍。我有一个有时间的数据库。我要做的是返回每小时内的通话量。我试图避免每小时做24个不同的查询,并希望组功能可能是我可以使用的东西。是否可以在此表上执行一个查询,并能够将它们分组为一小时增量,或者我是否需要针对每个小时进行单独查询。我的最终结果将包含24小时内每次发生的呼叫次数。

+----------+---------+
| calltime | time    |
+----------+---------+
| 160523   |  4:05pm |
| 150259   |  3:02pm |
| 025942   |  2:59am |
| 024729   |  2:47am |
| 072419   |  7:24am |
| 142450   |  2:24pm |
| 201937   |  8:19pm |
| 190428   |  7:04pm |
+----------+---------+

这可能吗?

答案:

 SELECT COUNT(*) FROM table GROUP BY HOUR(calltime)

然后循环结果。

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

SELECT HOUR(STR_TO_DATE( time, '%l:%i:%S %p' )), COUNT(calltime) FROM table GROUP BY HOUR(STR_TO_DATE( time, '%l:%i:%S %p' ));

您可以阅读更多here