结果确实没什么区别,你看看下面这种写法,是不是能明显点?SELECT AVG(SAL),MAX(SAL),JOB,DEPTNO FROM SCOTT.EMP GROUP BY DEPTNO,JOB ORDER BY DEPTNO;
SELECT AVG(SAL),MAX(SAL),JOB,DEPTNO FROM SCOTT.EMP GROUP BY JOB,DEPTNO ORDER BY JOB;
SELECT AVG(SAL),MAX(SAL),JOB,DEPTNO FROM SCOTT.EMP GROUP BY JOB,DEPTNO ORDER BY JOB;
GROUP BY JOB,DEPTNO-----------------------
上一行是表示先按照deptno分组再按照job分组,
下一行是表示先按照job分组再按照deptno分组
-----------------------
这个没什么好讨论的。
from emp
where job is not null
group by rollup(deptno,job);
select job,nvl(to_char(deptno),'合计'),max(sal),avg(sal),sum(sal)
from emp
where job is not null
group by rollup(job,deptno);