我如何每 2 小时计数和分组一次?

我有一张这样的 table :

Id  TheTime
--  -------
1   07/07/2012 08:49:02
2   07/07/2012 09:36:39
3   07/07/2012 10:36:39
4   07/07/2012 12:36:39
5   07/07/2012 13:36:39

我怎样才能转换成:
TheTime_08_10  TheTime_10_12  TheTime_12_14 etc.. until TheTime_22_00
-------------  -------------  ------------              -------------
       2              1            2

提前谢谢你,
史蒂夫

最佳答案

对于支持 Hour() 函数的数据库,您可以使用:

SELECT Floor(Hour(TheTime)/2)*2, COUNT(*) FROM TimeTable GROUP BY Floor(Hour(TheTime)/2)

你会得到这样的东西:
Floor(...) | Count(*)
---------------------
8          | 1
10         | 3
12         | 5
16         | 1

第一列是开始时间 - 8 表示时间从 8:00 到 9:59,以此类推。

关于SQL 计数每 2 小时分组一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11829679/

10-13 03:25