ROLLUP 分组查询总计
ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。
CUBE,也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,同时在末尾加上总计记录。
select * from a;
1a11
2a22
3b33
4b44
SELECT grade, ID, SUM(num)
FROM a
GROUP BY ROLLUP(grade, ID)
order by grade, ID;
SELECT grade, ID, SUM(num)
FROM a
GROUP BY ROLLUP(grade, ID)
order by grade, ID;
1a11
2a22
3a3
4b33
5b44
6b7
710
SELECT grade, ID, SUM(num)
FROM a
GROUP BY CUBE(grade, ID)
order by grade, ID;
1a11
2a22
3a3
4b33
5b44
6b7
711
822
933
1044
1110