我正在尝试将一些记录分组为 5 分钟、15 分钟、30 分钟和 60 分钟的间隔:
SELECT AVG(value) as "AvgValue",
sample_date/(5*60) as "TimeFive"
FROM DATA
WHERE id = 123 AND sample_date >= 3/21/2012
我想运行几个查询,每个查询都会将我的平均值分组到所需的时间增量中。所以 5 分钟的查询将返回如下结果:
AvgValue TimeFive
6.90 1995-01-01 00:05:00
7.15 1995-01-01 00:10:00
8.25 1995-01-01 00:15:00
30 分钟的查询将导致:
AvgValue TimeThirty
6.95 1995-01-01 00:30:00
7.40 1995-01-01 01:00:00
datetime
列采用 yyyy-mm-dd hh:mm:ss
格式
我的 datetime
列出现隐式转换错误。任何帮助深表感谢!
原文由 jrubengb 发布,翻译遵循 CC BY-SA 4.0 许可协议
在新的 SQL Server 2022 中, 您可以使用
DATE_BUCKET
,这会将其向下舍入到指定的最接近的间隔。