我有一个包含以下各列的表:
timestamp | value | desc
数据示例:
2014-01-27 10:00:00.000 | 100 | 101
2014-01-27 10:00:00.000 | 105 | 101
2014-01-27 11:00:00.000 | 160 | 101
2014-01-27 12:00:00.000 | 200 | 101
...
...
2014-01-28 10:00:00.000 | 226 | 101
2014-01-28 10:00:00.000 | 325 | 101
2014-01-28 11:00:00.000 | 145 | 101
我想要获得的是按小时部分分组,但不合并周期间隔。这样结果将是这样的(在选择中,我将传递日期间隔和描述上的条件,例如desc ='101':
结构体:
hour | count
数据:
10 | 2 (referring to the 20140127)
11 | 1 (referring to the 20140127)
12 | 1 (referring to the 20140127)
...
...
10 | 2 (referring to the 20140128)
11 | 1 (referring to the 20140128)
我曾考虑过使用游标,但我想知道如果没有它,是否有可能实现此结果。
我正在使用SQL Server 2012 SP1。
感谢您的关注。
再见F
尝试这个:-
SELECT Count(*) AS [Count],
Datepart(hour, timestamp) AS [Hour]
FROM yourtable
GROUP BY CONVERT(DATE, timestamp),
Datepart(hour, timestamp)
ORDER BY CONVERT(DATE, timestamp)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句