我的數據庫中有一個存檔表,其中包含數百萬個日期/時間值對。現在我需要使用JavaScript圖表在網頁上提供這些數據。通過指定可變時間間隔獲取彙總數據
由於我需要實現某種延遲加載和數據聚合的大量數據。在客戶端,一切都已經正常工作(使用模擬聚合數據) - 缺少的是傳遞數據的服務器端SQL查詢。
準確地說:我不知道如何通過指定的可變時間量(以分鐘給出,例如),其中結果給我的最小值,最大值和平均值爲間隔來查詢數據。
目前我使用此代碼,給了我在每個小時的基礎所需的數據:
SELECT CAST(DATEADD(hour,FLOOR(DATEDIFF(hour,0,CAST(DateValue AS datetime))),0) as datetime) as d, avg(Value) as Av, min(Value) as Mn, max(Value) as Mx
FROM [TESTDB].[dbo].[ValueArchive]
WHERE StationId=5 and DataPointId=21507
GROUP BY CAST(DATEADD(hour,FLOOR(DATEDIFF(hour,0,CAST(DateValue AS datetime))),0) as datetime)
order by d
該查詢返回的數據是這樣的:
Zeit Av Mn Mx
2014-07-31 07:00:00.000 21,5311364673079 21,1000043854118 22,0000043988228
2014-07-31 08:00:00.000 21,5188868579348 21,0000043839216 22,0000043988228
2014-07-31 09:00:00.000 21,5014227301436 10,3 21,9000043973327
2014-07-31 10:00:00.000 21,6056305272473 21,1000043854118 22,200004401803
2014-07-31 11:00:00.000 21,7478380172488 21,300004388392 22,200004401803
2014-07-31 12:00:00.000 21,9086686573894 21,5000043913722 22,4000044047833
2014-07-31 13:00:00.000 22,6290701521411 21,7000043943524 25,2000044465065
2014-07-31 14:00:00.000 24,3890669344227 23,7000044241548 25,1000044450164
2014-07-31 15:00:00.000 23,5097663260819 23,000004413724 24,0000044286251
2014-07-31 16:00:00.000 23,3656704604484 22,9000044122338 23,900004427135
2014-07-31 17:00:00.000 23,3113943797538 22,9000044122338 23,8000044256449
2014-07-31 18:00:00.000 23,3023299996241 22,8000044107437 23,8000044256449
2014-07-31 19:00:00.000 23,3033443003657 22,8000044107437 23,8000044256449
2014-07-31 20:00:00.000 23,265605921441 22,7000044092536 23,8000044256449
2014-07-31 21:00:00.000 23,1962274382304 22,7000044092536 23,8000044256449
2014-07-31 22:00:00.000 23,0771869545565 22,6000044077635 23,5000044211745
2014-07-31 23:00:00.000 22,9476058889577 22,200004401803 23,5000044211745
2014-08-01 00:00:00.000 22,7839329819327 22,3000044032931 23,2000044167042
2014-08-01 01:00:00.000 22,6155113662449 22,0000043988228 23,1000044152141
2014-08-01 02:00:00.000 22,4463981676577 21,9000043973327 22,9000044122338
這是一個良好的開端,但我不知道如何更改此查詢以這樣一種方式,它與間隔作品如2分鐘,15分鐘或爲5秒等時間間隔開始/結束日期應當與充分小時,因此,如果您在指定的時間範圍內每10分鐘查詢一次,數據塊應包含10:00的數據至10:10,10:10至10:20等。(此量化與使用相同的時間的x軸附加的獨立數據序列時工作是很重要的。)
有一種方法來直接在實現該功能數據庫通過使用查詢(或存儲過程)?或者我必須首先獲取所有數據,然後在Web服務器上進行聚合?
感謝您的幫助!