select id, name, score from
(select g.id as id, l.name as name , g.score as score, dense_rank() over(partition by grade g order by score DESC) as rank
from grade g
join
language l
on g.language_id = l.id) t
where rank <= 2
order by name, score, id
select id, name, score from
(select g.id as id, l.name as name , g.score as score, dense_rank() over(partition by grade g order by score DESC) as rank
from grade g
join
language l
on g.language_id = l.id) t
where rank <= 2
order by name, score, id
这里能这样写吗,应该写字段吧