sql 查询分组求小计,合计

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

 

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

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

我现在 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 列 也这样弄出来,但是试了半天,结果很多重了

搞定了,谢谢各位

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