0

我有一个包含很多记录的数据库,每条记录都有一个日期时间和文件大小(以字节为单位)。

桌子:

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

等等

我想要一个查询来确定给定时间段内的峰值音量。例如,在任何 10 分钟窗口中,如果文件总大小超过 200MB,那么我想知道那个 10 分钟窗口。我不确定运行总计是否理想,但我不确定如何计算它。

干杯。

4

1 回答 1

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

如果数量超过限制,这仍然可以在较长时间内带来多次点击。

于 2015-02-05T17:22:36.437 回答