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
誰でもこれを行うためのより良い/より効率的な方法を提案できますか?