rollup和cube函数区别

使用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);


rollup和cube函数区别_第1张图片

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);

rollup和cube函数区别_第2张图片


你可能感兴趣的:(oracle)