题解 | #考试分数(二)#
考试分数(二)
https://www.nowcoder.com/practice/f456dedf88a64f169aadd648491a27c1
v1 思路:当score>avg_score
v1 结果错误。原因:子查询不止一行,而是每个job一行avg_score
select *
from grade
where score > (
select avg(score) as avg_score
from grade
group by job
)
order by id asc
v2 思路:聚合表,增加一列avg_score。对比score>avg_score
v2结果成功
select
g1.*
from grade g1
left join (
select job,avg(score) as avg_score
from grade
group by job
)g2
on g1.job=g2.job
where g1.score > g2.avg_score
查看7道真题和解析