SQL73: 考试分数(二)
这个题给出了grade表,表里有id,job,score字段
请你写一个sql语句查询用户分数大于其所在工作(job)分数的平均分的所有grade的属性,并且以id的升序排序,如下:
1.我们先按照iob进行分类 求出 每个科目的平均成绩
eg:
select job,avg(score) as s
from grade
group by job;
得到这个表 job 和平均成绩
2 我们以这个表和grade表进行join 条件是 a.job = b.job and a.score > avg(score)
然后求出大于 这个平均成绩的成绩
select a.id,a.job,a.score
from grade a join (select job,avg(score) as s
from grade
group by job) b on a.job = b.job
and a.score > b.s;
这个题得出平均成绩多个,不能一下比较出来。所以用子查询方式