使用rollup(field)和cube(field) 对单个field字段时区别不大,只是前者在最尾部进行汇总,后者在最顶部进行汇总,但存在多个字段时就呈现下面的不同之处。
1.未进行汇总
Select t.deptno,t.en_job,avg(t.age),Max(t.age),Min(t.age),avg(t.salary),Max(t.salary),Min(t.salary),Sum(t.salary) from temp_emps t Group By (t.deptno,t.en_job);
2.rollup汇总
Select t.deptno,t.en_job,avg(t.age),Max(t.age),Min(t.age),avg(t.salary),Max(t.salary),Min(t.salary),Sum(t.salary) from temp_emps t Group By Rollup(t.deptno,t.en_job);
3.cube汇总
Select t.deptno,t.en_job,avg(t.age),Max(t.age),Min(t.age),avg(t.salary),Max(t.salary),Min(t.salary),Sum(t.salary) from temp_emps t Group By Cube(t.deptno,t.en_job);