0

我无法让我的 SQL 结果去做我需要的事情。我已经阅读了一段时间,但我仍然有一些障碍。我有一个数据库,里面有时间。我想要做的是返回每小时内的呼叫量。我试图避免每小时进行 24 次不同的查询,并希望 group 功能可能是我可以使用的。是否可以在此表上执行一个查询并能够将它们分组为一小时的增量,或者我是否需要每小时进行单独的查询。我的最终结果将是 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)

然后循环遍历结果。

4

1 回答 1

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' ));

你可以在这里阅读更多。

于 2013-08-13T05:57:34.283 回答