按半小时间隔计算呼叫

Ray*_*Ray 3 sql sql-server

我试图获得每半小时间隔的呼叫计数。想不通。

select 
       count(call_id) as '#Calls',
       1/2 h(date_time) as 'Call_Interval'
from My_Table
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Dan*_*man 5

按不同时间间隔聚合的一种方法是使用DATEADDDATEDIFF

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)