select
x.id,
x.name,
x.score
from
(SELECT 
g.id,
l.name,
g.score,
DENSE_RANK()over(partition by l.name order by score desc)mm
FROM grade g
LEFT JOIN language l on l.id = g.language_id)x
where x.mm <=2
ORDER BY x.name ,x.score DESC