我有一个这样的表:
[SDate - DateTime] [Value - Decimal] 2010-11-16 10:32:22 1 2010-11-16 10:58:08 2
我需要一个查询以n分钟的间隔对记录进行分组。
例如,输出(按60分钟分组):
2010-11-16 10:10:00 avg(Value) 2010-11-16 10:11:00 avg(Value) 2010-11-16 10:12:00 avg(Value)
到目前为止,由于间隔介于0到60分钟之间,因此我一直在使用此查询按10分钟间隔进行分组:
... GROUP BY DATEPART(YEAR, SDate), DATEPART(MONTH, SDate), DATEPART(DAY, SDate), DATEPART(HOUR, SDate), (DATEPART(MINUTE, SDate) / 10)
但是现在间隔可以是例如 125436758 分钟。
我无法创建新表,并且用户定义的间隔必须为n分钟。我正在使用SQL SERVER2012。谢谢。
GROUP BY ... (DATEDIFF(MINUTE, 0, SDate) / @n)