我有一个emp
表,如下所示:
我需要按DeptNo
和JOB
进行分组。
我使用以下代码按
生成分组;With Cte as
(
select
DeptNo, Count(EMPNO) Total
from
Emp
group by
DeptNo
union all
select
DeptNo, Count(EMPNO) Total
from
Emp
group by
DeptNo, Job
)
select *
from Cte
order by DeptNo, Total desc
但我需要输出如下
有没有选项可以在动态CTE的SQL中生成类似的结果?
由于
答案 0 :(得分:0)
SELECT x.DeptNo AS [Dept/Job], COUNT(*) AS Cnt, x.DeptNo, 1 AS RowType
FROM dbo.emp x
GROUP BY x.DepNo
UNION ALL
SELECT y.Job, COUNT(*), y.DepNo, 2 AS RowType
FROM dbo.emp y
GROUP BY y.Job, y.DepNo
ORDER BY DepNo, RowType