2013-11-23 149 views
-1

我一直在爲一個月的小時數據表生成SQL查詢(SQL Server 2008 R2)。現在我需要的是,0 t0 1 Am(整個月),1Am到2Am(整個月),2Am到3AM(整個月)的數據平均值...... 23PM到23:59 PM(完成月)。我的表結構是 logdatetime || value1 || value2即11/13/13 0:00 || 0.2 || 2.3,11/13/13/13 23:00 || 0.2 || 2.3 我的輸出應該是。 0:00 AM || 0.2 || 2.35,1:00 AM||0.2||2.35同一小時內每小時平均的SQL查詢

這些值是整個月的特定時間的平均值。

+0

平均的你要不要?值1或值2?另外,當您說0 AM和1AM之間的數據時,它是在1AM(減號)值1處於0AM時的值1。請詳細說明。 – DarkKnight

+0

各列中Value1和Value2的平均值。不,對於當月的所有日期,在0 Am上的value1將取平均值,對於該月的所有日期,Value1在1 AM時的值應該是平均值 – Rama

+0

,類似於value2 ...這看起來像0 AM||所有日期||下降到此時間範圍內的平均值1在此時間範圍內所有日期的Value2平均值。同樣適用於上午1點,上午3點,上午3點等 – Rama

回答

0

假設你只需要特定月份和年份的數據,這裏是查詢..這領域

SELECT SUBSTRING(CONVERT(VARCHAR(100),longdate,114),1,2), AVG(VALUE1),AVG(VALUE2) FROM YOURTABLE WHERE MONTH(LONGDATE) = 11 AND YEAR(LONGDATE) = 2013 GROUP BY SUBSTRING(CONVERT(VARCHAR(100),longdate,114),1,2)

+0

非常感謝,它的工作。 – Rama