题解 | #考试分数(五)#
考试分数(五)
https://www.nowcoder.com/practice/b626ff9e2ad04789954c2132c74c0513
select b.id,b.job,b.score,b.rn
from (
select *,rank() over(partition by job order by score desc) rn
from grade a
)b
left join
(
select job,
count(id)/2 as t1,
(count(id)+1)/2 as t2,
(count(id)+2)/2 as t3
from grade c
group by job
)d
on b.job= d.job
where b.rn in (d.t1,d.t2,d.t3)
order by b.id

