2016-02-24 79 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

相關問題