我无法让我的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)
然后循环结果。
答案 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。