m0_58686405 2021-05-27 12:48 采纳率: 40%
浏览 69
已采纳

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

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

  • 写回答

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 行受影响)
    
     */
    

    参考一下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥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 用土力学知识进行土坡稳定性分析与挡土墙设计