select t.id,name,score
from language join (
    select id,language_id,score,dense_rank()over(partition by language_id order by score desc) rank_num
    from grade
)t
on t.language_id = language.id and rank_num<=2
order by name,score desc