我正在编写一个查询,其中表末尾应该有一个总行,该行给出closed, open,的总和reassigned columns。
我能够做一个支点,但无法知道如何在最后放置一行。我在网上搜索过,但大多找到了创建列和行或仅列的解决方案。我喜欢开发,对数据库不太了解。下面是我的支点。请让我知道我该怎么做。
select *
from
(
select [case owner] as AGENT, [final status]
from StatusTable
) src
pivot
(
count([final status])
for [final status] in ([CLOSED], [OPEN], [REASSIGNED])
) piv
Run Code Online (Sandbox Code Playgroud)
当前输出如下图
在这里我想要一个额外的行,如下所示。
TOTAL | 2 | 8 | 2
Run Code Online (Sandbox Code Playgroud)
您可以使用UNION ALL连接具有相同列的行集:
with ctePivot as (
select *
from
(
select [case owner] as AGENT, [final status]
from StatusTable
) src
pivot
(
count([final status])
for [final status] in ([CLOSED], [OPEN], [REASSIGNED])
) piv
)
select * from ctePivot
union all
select 'TOTAL', sum([CLOSED]), sum([OPEN]), sum([REASSIGNED]) from ctePivot
Run Code Online (Sandbox Code Playgroud)
或者只有一个更简单的变体GROUP BY ROLLUP:
select ISNULL([case owner], 'TOTAL') as AGENT,
SUM(CASE WHEN [final status]='CLOSED' THEN 1 ELSE 0 END) [CLOSED],
SUM(CASE WHEN [final status]='OPEN' THEN 1 ELSE 0 END) [OPEN],
SUM(CASE WHEN [final status]='REASSIGNED' THEN 1 ELSE 0 END) [REASSIGNED]
from StatusTable
GROUP BY ROLLUP ([case owner]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4038 次 |
| 最近记录: |