2015-02-05 38 views
0

我有很多記錄的數據庫和每個記錄有日期時間和文件大小(以字節爲單位),峯值音量。MS SQL查詢,以確定在反對它拍攝的時間

表:

ID   DateTime     FileSize 
000001  2013-01-01 01:00:07  1535112 
000002  2013-01-01 01:00:08  2506843 

我想查詢,以確定在給定的時間段峯體積。例如,在任意的10分鐘的窗口,如果文件總大小的超過200MB的話,我想知道有10分鐘的窗口。我不知道,如果運行總量將是理想的,但我不知道如何計算它。

乾杯。

+0

我真不明白你在找什麼。你想知道一天中最忙的時候還是你想擁有最文件大小有10分鐘的窗口或你想找到所有10分鐘窗戶日在總文件大小是> 200MB?你如何定義這些窗口的開始和結束? – 2015-02-05 17:18:03

回答

0

像這樣的事情應該工作,希望這不是太慢:

select 
    T.DateTime, 
    D.Total 
from table T 
cross apply (
    select sum(FileSize) as Total 
    from table T2 
    where T2.DateTime >= T.DateTime and 
     T2.DateTime < dateadd(minute, 10, T2.DateTime) 
) D 
where 
    D.Total > 200000000 

這仍然如果量超過極限帶來幾命中一段較長的時間。