数据库中scott.emp这么一张表,我要进行如下业务操作:
1、各部门中,不同类别岗位的平均工资和最大工资;
2、各类别岗位中,不同部门的平均工资和最大工资;
我写这么两个SQL:
1、SELECT AVG(SAL),MAX(SAL),JOB,DEPTNO FROM SCOTT.EMP GROUP BY DEPTNO,JOB ORDER BY DEPTNO;
2、SELECT AVG(SAL),MAX(SAL),JOB,DEPTNO FROM SCOTT.EMP GROUP BY JOB,DEPTNO ORDER BY DEPTNO;
执行结果却是一样的?
求解这两种不通业务的分组方式实现.
------解决方案--------------------
结果确实没什么区别,你看看下面这种写法,是不是能明显点?
- SQL code
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;
------解决方案--------------------
- SQL code
GROUP BY DEPTNO,JOBGROUP BY JOB,DEPTNO-----------------------上一行是表示先按照deptno分组再按照job分组,下一行是表示先按照job分组再按照deptno分组-----------------------这个没什么好讨论的。