SQL Union All写法

SQL Union All写法

需求
取招募活动前五名按不同维度,如代表,DSM,RSM 降序排列

select * from(
	select top 5 '代表' [Level], [PRE_Name], cnt from #TempWhiteDetail where RCNameC=@RCNameC--'及县华中大区中心' --'及县中南大区中心'
	and PRE_Name not like '%DSM%'
	order by cnt desc
) t3
union all
select * from(
	select top 5 'DSM' [Level], DSM_Name, sum(cnt) cnt from #TempWhiteDetail where RCNameC=@RCNameC--'及县华中大区中心' --'及县中南大区中心'
	group by DSM_Name
	order by cnt desc
) t1
union all
select * from (
	select top 5 'RMS' [Level], RSM_Name, sum(cnt) cnt from #TempWhiteDetail where RCNameC=@RCNameC--'及县华中大区中心' --'及县中南大区中心'
	group by RSM_Name
	order by cnt desc
) t2
union all
select * from( 
	select 'Total' [Level], '' [Name1], sum(cnt) cnt from #TempWhiteDetail where RCNameC=@RCNameC--'及县华中大区中心'
) t4

查询结果像这样
SQL Union All写法_第1张图片
主要记录一下Union All不能直接接带order by的语句。得套一层,嵌套得有别名,列名也得有别名

仅供学习参考,如有侵权联系我删除

你可能感兴趣的:(sql)