SQLserver怎样把汇总数显示在结尾

把求个数的汇总结果显示在尾行应该用什么语句 命令应该怎么写啊



--创建表
if object_id('tempdb..#a','U') is not null
drop table #a ;
go
create table #a 
(
A tinyint,
B char(4),
C smallint,
D tinyint
)
--插入数据
insert into #a (A,B,C,D)
      values (1,'张三',100,10),
 (2,'李四',200,20),
 (3,'王武',300,30),
 (4,'李逵',400,40);  
 --语句
 with a as(
 select cast(case grouping(A) when 0 then A else cast('合计' as sql_variant) end as char(4)) as A,cast(case grouping(A) when 0 then B else cast('合计' as sql_variant) end as char(4)) as B,sum(C) as C,sum(D) as D,row_number() over(partition by A order by A ) as rn 
 from #a
 group by rollup(A,B)
 )
 select * from a where rn <>2 order by A

 --结果展示
 /*
 A    B    C           D           rn
---- ---- ----------- ----------- --------------------
1    张三   100         10          1
2    李四   200         20          1
3    王武   300         30          1
4    李逵   400         40          1
合计   合计   1000        100         1

(5 行受影响)

 */

参考一下

一般汇总信息都是页面显示汇总,不需要查询时带汇总信息;

如果强制想那只有UNION ALL 连接下汇总结果

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632