明确问题:找出每个岗位分数排名前2的用户,得到的结果按name升序,再按积分降序,最后按id升序 首先找到每个岗位的排名,可以使用窗口函数,根据题义,可以并列排名,故使用dense_rank进行排名 select *,dense_rank()over(partition by name order by score desc) d_rank from grade 这样就知道了每个岗位的排名,接下来就是取出前2的用户,再对language进行链接,按name升序,再按积分降序,最后按id升序 select a.id,b.name,a.score from (select *,dense_rank...