首页 文章

使用SQL Server为每个日期分组6小时数据

提问于
浏览
0

使用SQL Server 2000,

我有包含日期时间和值的数据,比如DateData和OtherData . 数据以五分钟为间隔随时间收集,因此,例如,DateData是从2016年2月1日到2015年2月24日的有序DateTime,每个新数据点之间有5分钟的间隔 .

我目前正在尝试对数据进行平均,这样我就可以每6小时获取一次平均的OtherData值 . 到目前为止,我已经提出了以下SQL,它将所有数据分成6小时的间隔,因此我最终得到的是所有日子的平均值,而不是个人数据 .

SELECT
DATEPART(hour, DateData)/6,
AVG(OtherData) AS AvgData
FROM DATASITE
GROUP BY DATEPART(hour, DateData)/6

--Result:
|Column1 | AvgData|
|0 | 11|
|1 | 12|
|2 | 13|
|3 | 14|

如何更改上述查询以提供单个日期的平均值,而不是所有天数的总和?

1 回答

  • 0

    Group by 中添加 DateData 以对每天的行进行分组

    SELECT
    DATEPART(hour, DateData)/6,
    AVG(OtherData) AS AvgData
    FROM DATASITE  
    GROUP BY cast(DateData as date),
             DATEPART(hour, DateData)/6
    

相关问题