我有一个包含大量记录的数据库,每个记录都有一个日期时间和以它为单位捕获的文件大小(以字节为单位)。
表:
ID DateTime FileSize
000001 2013-01-01 01:00:07 1535112
000002 2013-01-01 01:00:08 2506843
等等
我想要一个查询来确定给定时间段内的峰值音量。例如,在任何10分钟的窗口中,如果文件大小超过200MB,那么我想知道那个10分钟的窗口。我不确定运行总计是否理想,但我不确定如何计算它。
干杯。
答案 0 :(得分: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
如果金额超过限额,这仍然会带来更长时间的点击。