根据时间间隔汇总我的 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 ;
我正在尝试汇总 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 ;