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;

这个题得出平均成绩多个,不能一下比较出来。所以用子查询方式

全部评论

相关推荐

每晚夜里独自颤抖:这个在牛客不是老熟人了吗
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务