利用DENSE_RANK()函数,当积分最多的人不止一个时也可以求解。 SELECT name,grade_num FROM (SELECT name,SUM(grade_num) as grade_num ,DENSE_RANK() OVER (ORDER BY SUM(grade_num) DESC) as grade_rank FROM user u INNER JOIN grade_info g ON u.id = g.user_id GROUP BY name ) A WHERE grade_rank = 1;