我在 MS SQL 2012(40m 记录)中有一个包含呼叫数据的大表。我想找到呼叫的高峰量,以及它发生的时间。如果可能的话,我还想找出接下来的 4 个最繁忙的时期。
我计划使用 3 列: CallID DialTime EndTime
我能想到的唯一方法是这样做:
Select '2013-07-01 00:00:01' as [Period], count([CallID]) as [Calls]
from [Table]
where DialTime <= '2013-07-01 00:00:01'
and EndTime >= '2013-07-01 00:00:01'
union
Select '2013-07-01 00:00:02' as [Period], count([CallID]) as [Calls]
from [Table]
where DialTime <= '2013-07-01 00:00:02'
and EndTime >= '2013-07-01 00:00:02'
union
etc
任何人都可以提出更好/更有效的方法吗?