oracle乱七八糟的汇总都能用rollup,cube,grouping sets以及组合列分组,连接列分组等,配合grouping,grouping_id,group_id都恩能够实现啊,比如:
SELECT deptno, job , SUM(sal ) FROM scott.emp
GROUP BY GROUPING SETS(deptno, job);
SELECT deptno, job , SUM(sal ) FROM scott.emp
GROUP BY GROUPING SETS(rollup(deptno) ,ROLLUP ( job) );
SELECT deptno, job , SUM(sal ) FROM scott.emp
GROUP BY GROUPING SETS(deptno, job,());
SELECT deptno, job,SUM(sal ) FROM scott.emp
GROUP BY ROLLUP(deptno,job);
SELECT deptno, job,SUM(sal ) FROM scott.emp
GROUP BY ROLLUP((deptno, job));
SELECT deptno, job, SUM(sal ) FROM scott.emp
GROUP BY deptno,ROLLUP ( job );