2016-02-24 74 views
0

使用SQL Server 2000,使用SQL Server为单个天数分组6小时数据

我有包含日期​​时间和值(例如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| 

我该如何更改上述查询来给出个别日子的平均值,而不是所有日子的总和?

回答

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 
+0

这并没有为我工作,而是通过附加DATEPART分组()一样。如果我添加了DATEPART(day,datedata)和类似的月份,它似乎解决了我的问题。有什么办法可以保存与平均值相对应的日期时间(2/2/2016等)? – aiokos

相关问题