题解 | #获取所有员工当前的manager#
考试分数(二)
http://www.nowcoder.com/practice/f456dedf88a64f169aadd648491a27c1
个人来讲,觉得我的做法有些复杂了,不过没有取巧,按照正常思维去做出来的
首先 全部查询,筛选条件是 job和score同时满足 job和score对应,score大于这个job对应的平均成绩
select * from grade
where (job,score)
in(
select a.job,a.score from grade a inner join 筛选出满足job和score条件的结果集
(select job,avg(score) avg from grade group by job) b 求出每个job对应的avg(score)
on a.job=b.job job与avg(score)的job对应
and a.score>b.avg) score大于平均成绩order by id