select t.id,b.name,t.score
from language b,
(select *,dense_rank() over(partition by language_id order by score desc) t_rank from grade) t
where t_rank<=2 and b.id=t.language_id  order by b.name,t.score desc,t.id asc
天呀,我说的嘛,为啥写了很久查出来的数据不对,是因为排序时是按score升序排列的,而不是降序!