每2小时计算一次SQL计数
如何计算和每2小时分组?每2小时计算一次SQL计数
我有这样的一个表:
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
感谢你在前进, 甜菊
对于支持小时()函数的数据库,你可以使用:
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 2008 R2,显然Hour不是SQL 2008 R2的功能 – user609511 2012-08-06 14:14:37
尝试用DATEPART(hh,TheTime)替换小时(TheTime)。 – 2012-08-06 14:16:20
很酷,谢谢 – user609511 2012-08-06 14:29:14
有很多这种类型的示例*上的问题。使用简单的案例陈述。确保您了解围绕边界的业务规则。
Select
Sum(Case When Datepart(hh, TheTime) Between 8 and 9 Then 1 Else 0 End) TheTime_8_10,
....
您正在使用哪个数据库? – 2012-08-06 13:55:28
SQL Server 2008 R2 – user609511 2012-08-06 14:11:29