把求个数的汇总结果显示在尾行应该用什么语句 命令应该怎么写啊
3条回答 默认 最新
- CSDN专家-黄老师 2021-05-27 12:50关注
--创建表 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 行受影响) */
参考一下
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于大棚监测的pcb板设计
- ¥20 sim800c模块 at指令及平台
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计