我试图获得每半小时间隔的呼叫计数。想不通。
select
count(call_id) as '#Calls',
1/2 h(date_time) as 'Call_Interval'
from My_Table
Run Code Online (Sandbox Code Playgroud)
按不同时间间隔聚合的一种方法是使用DATEADD
和DATEDIFF
:
SELECT
COUNT(*) as '#Calls',
DATEADD(minute, (DATEDIFF(minute, '', date_time) / 30) * 30, '') as Call_Interval
FROM dbo.My_Table
GROUP BY DATEADD(minute, (DATEDIFF(minute, '', date_time) / 30) * 30, '')
ORDER BY Call_Interval;
Run Code Online (Sandbox Code Playgroud)