根据时间间隔汇总我的 SQL 结果?

Aggregate my SQL results based on time interval?

我正在尝试汇总 row_date、开始时间和 acdcalls,以便我可以获得该日期任何给定 15 分钟内拨打的电话总和。

他们是否在 100 到 107 之间并不重要。

这是我到目前为止能够到达的地方:

SQL Query1

DECLARE @@searchdate date = '2022-2-17'
SELECT [row_date]  
  ,[starttime]  
  ,[split]  
  ,[acdcalls]     
FROM [CMS].[dbo].[hsplit]  
WHERE split IN (100,101,102,103,104,105,106,107)  
AND (acdcalls > 0)  
AND (row_date = @@searchdate)  
GROUP BY row_date, starttime, split, acdcalls  
ORDER BY row_date, starttime asc ;

结果

row_date starttime split acdcalls
2022-2-17 630 104 1
2022-2-17 645 105 1
2022-2-17 700 105 1
2022-2-17 700 107 1
2022-2-17 715 102 1
2022-2-17 715 104 2
2022-2-17 730 100 2
2022-2-17 745 105 1
2022-2-17 745 107 1

试图让它看起来像这样:

row_date starttime acdcalls
2022-2-17 630 1
2022-2-17 645 1
2022-2-17 700 2
2022-2-17 715 3
2022-2-17 730 2
2022-2-17 745 2

非常感谢任何帮助!

如果拆分无关紧要,请不要按它们分组,绝对不要按您要聚合的度量进行分组,只需选择聚合函数即可。我真的不知道 acdcalls 代表什么,但如果它是通过自动呼叫分配的呼叫数,那么你可能需要一个 SUM:

DECLARE @searchdate date = '20220217'
SELECT [row_date]  
  ,[starttime]  
  ,SUM([acdcalls]) AS acdcalls
FROM [CMS].[dbo].[hsplit]  
WHERE split IN (100,101,102,103,104,105,106,107)  
AND (acdcalls > 0)  
AND (row_date = @searchdate)  
GROUP BY row_date, starttime
ORDER BY row_date, starttime asc ;