group by分组查询

 

示例:要求查询出每个部门的编号,人数,以及最高和最低工资 

select deptno, count(empno), max(sal), min(sal)
from emp
group by deptno;

 

 

限制1:在没有使用group by子句,select中不能够使用统计函数

正确代码

错误代码

select deptno,count(empno), max(sal),min(sal) from emp 

group by deptno

 

select deptno,count(empno), max(sal),min(sal) 

from emp

 

 

限制2:在使用group by子句,select只允许使用分组字段和统计函数,其他不允许出现

正确代码

错误代码

select deptno,count(empno) from emp

group by deptno

 

select deptno,ename,count(empno) from emp
group by deptno

 

  

 

限制3:统计函数允许嵌套,但是嵌套后的统计查询中,select子句不允许出现任何字段,包含分组字段,只能出现统计函数

正确代码

错误代码

select max(avg(sal)) from emp

group by deptno

 

select deptno,max(avg(sal)) from emp

group by deptno

 

相关文章: