1. 程式人生 > >列出各個部門中工資高於本部門的平均工資的員工數和部門號

列出各個部門中工資高於本部門的平均工資的員工數和部門號

列出各個部門中工資高於本部門的平均工資的員工數和部門號,並按部門號排序。用SQL語句詳細介紹一下

採納率:51%11級2013.11.17

select a.deptno,count(*) from emp as a,
(select deptno,avg(sal) as avgsal from emp group by deptno) as b
where a.deptno=b.deptno
and a.sal>b.avgsal
group by a.deptno
order by a.deptno

表名為emp,deptno為部門號
(select deptno,avg(sal) as avgsal from emp group by deptno) as b
這個是查詢每個部門的平均工資,並把這個結果集命名為b
然後關聯emp表查詢
where a.deptno=b.deptno
and a.sal>b.avgsal
這個就是在部門號相同的情況下,查詢工資大於平均公司的人
最後count(*) 就是總人數,排序就正常order by 就OK