MYSQL:如何对每个给定时间段的行数进行分组?

时间:2013-10-23 20:29:53

标签: mysql sql

我试图了解其他类似的问题,但我有点迷茫。 :(

所以基本上我有很多交易清单,它们全天都有,每个都有一个时间戳

TRANSACTION TIME
-----------------

2013-10-01 01:02:03         ...
2013-10-01 08:02:03         ...
2013-10-01 11:02:03         ...
2013-10-01 20:02:03         ...

我只想要一张能告诉我每个特定时间发生了多少次交易的表格。所以......

TIME PERIOD                                               COUNT
-------------------------------------------
2013-10-01 00:00:00 -> 2013-10-01 01:00:00                 23

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:4)

只需格式化日期即可删除分钟和秒数。对它进行分组时,它将具有相同的值,因此它们将组合在一起。

SELECT DATE_FORMAT(yourdate, '%Y-%m-%d %H:00:00') hr, COUNT(*) GROUP BY hr

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format