select
t2.id,
t3.name,
t2.score
from (
select
*,
dense_rank() over(partition by t1.language_id order by t1.score desc) as rk
from
grade t1
) t2
left join
language t3
on
t2.language_id = t3.id
where
t2.rk <= 2
order by
t3.name asc,
t2.score desc

京公网安备 11010502036488号