通过考试分数(一) https://blog.nowcoder.net/n/c3455ba1ab0e4f118f0c890e9936d7e7 知道,每个岗位的平均分sql代码如下:
(select job,round(sum(score)*1.0/count(id),3) as avg from grade
group by job) 
可以把它查询出来的数据看成一个新表,用现在的表去联立这个新表,获得当job相同时,现在的表大于新表的分数,那么就可以得到各个岗位大于平均数的信息了,最后按照id升序
 
select grade.* from grade join 
(select job,round(sum(score)*1.0/count(id),3) as avg from grade
group by job) as t
on grade.job=t.job --联立新表,job相同
where grade.score > t.avg --现在的表的分数大于新表的分数
order by id