应该是cube吧GROUP BY CUBE(A, B, C),则首先会对(A、B、C)进行GROUP BY,然后依次是(A、B),(A、C),(A),(B、C),(B),(C), 
最后对全表进行GROUP BY操作,然后把所有结果union到一起

解决方案 »

  1.   

    是按照先AB分组再A分组然后再B分组然后再全表合计
      

  2.   

    表数据:
    id   name class kecheng chengji
    1 1 数学 1
    2 11 1 语文 1
    3 12 1 数学 1
    4 12 1 语文 1
    5 22 2 数学 1
    6 22 2 语文 1
    7 33 2 数学 2
    8 33 2 语文 2
    9 33 2 语文 2
    10 33 2 语文 2
    11 11 1 数学 2
    12 11 1 语文 0
    13 12 1 数学 0
    14 12 1 语文 0
    15 22 2 数学 0
    16 22 2 语文 1
    17 33 2 数学 2
    18 33 2 语文 0
    执行:select class,name,sum(chengji) from ZTEST
    group by cube(name,class) ORDER BY CLASS得出结果:
    1 11 4
    1 12 2
    1 6
    2 22 3
    2 33 10
    2 13
    11 4
    12 2
    22 3
    33 10
    19

      

  3.   

    执行:select class,name,sum(chengji) from ZTEST
    group by cube(name,class) ORDER BY CLASS
    我现在就是不知道最后19是怎么来的。