我有一个这样的表:
[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, SDate),
DATEPART(DAY, SDate),
DATEPART(HOUR, SDate),
(DATEPART(MINUTE, SDate) / 10)
但现在间隔可以是 125436758 分钟,例如。
我无法创建新表,并且用户定义的时间间隔必须为 n 分钟。 我正在使用 SQL SERVER 2012。谢谢。
最佳答案
GROUP BY
...
(DATEDIFF(MINUTE, 0, SDate) / @n)
关于SQL SERVER - 按 n 分钟间隔对记录进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26788729/