SQL SERVER – 按n分钟间隔对记录进行分组

前端之家收集整理的这篇文章主要介绍了SQL SERVER – 按n分钟间隔对记录进行分组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样一张桌子:
[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)

到目前为止,我一直使用此查询按10分钟间隔进行分组,因为间隔时间介于0到60分钟之间:

...
GROUP BY
DATEPART(YEAR,SDate),DATEPART(MONTH,DATEPART(DAY,DATEPART(HOUR,(DATEPART(MINUTE,SDate) / 10)

但是现在间隔可以是125436758分钟,例如.

我无法创建新表,用户定义的时间间隔必须为n分钟.
我正在使用sql SERVER 2012.谢谢.

解决方法

GROUP BY 
...
(DATEDIFF(MINUTE,SDate) / @n)

猜你在找的MsSQL相关文章