weixin_41148561
一个老辣鸡
采纳率100%
2021-03-09 18:08

sql 查询分组求小计,合计

40
已结题

A    B    C     D

1    A     AA   100

2    A     AA   100

3    A     AB   100

4    B    BA    100

5    B    BB    100

 SQL查询结果  

A    B     C    D

1    A     AA   100

2    A     AA   100

             小小计:200

3    A     AB   100

             小小计:100

    小计:300

4    B    BA    100

            小小计:100

5    B    BB    100

            小小计:100

    小计:300

合计:      500

 

  • 点赞
  • 收藏
  • 复制链接分享

5条回答

  • weixin_41148561 一个老辣鸡 1月前

    group by rollup 字段得顺序,多加几个case when 判断

    点赞 评论 复制链接分享
  • weixin_41148561 一个老辣鸡 1月前

    搞定了,谢谢各位

    点赞 评论 复制链接分享
  • weixin_41148561 一个老辣鸡 1月前

    我现在 select case when grouping(A)=1 and grouping(B)=1 then '合计'  esle A end A,

    case when grouping(B)=0 and  grouping(A)=1 then  A+'小计' esla B  end A ,

    sum(D) from 表

     结果输出:

    A       B      D

    1       A     100

    2       A     100

    3       A      100

    null  A小计 :300

    4     B    200

    5     B   200

    null  B小计 :200

    合计    null  500

    现在是想把C 列 也这样弄出来,但是试了半天,结果很多重了

    点赞 评论 复制链接分享
  • weixin_41148561 一个老辣鸡 1月前

    合计 小计 可行,小小计就套不上去了。数据有重

    点赞 评论 复制链接分享
  • weixin_42678268 bj_0163_bj 1月前

    这种缺位格式的不行,可以分组然后union 起来

    点赞 评论 复制链接分享