- group by 子句 对列进行分组
有两张表: 一张为部门表, 一张为员工表统计 每个部门的平均工资,与最高工资
select avg(salary), max(salary) from emp group by deptno;
统计 每个部门的每个岗位的 平均工资与最低工资(注意这里的分组)
select avg(salary), min(salary), deptno, job from emp group by deptno, job;group by deptno, job; 注意group by的使用, 先按照deptno分组,再按照job 分组,相当于递推分组
2. having 语句, 往往和groub by 语句配合使用,对group by的结果,进行过滤
统计 平均工资低于2000的部门,以及该部门的工资select avg(salary) , deptno from emp group by deptno having avg(salary) < 2000;select avg(salary) as 'myavg', deptno from emp group by deptno having myavg < 2000;(推荐)