笨办法 select b.user_id,b.name,b.grade_sum from ( select a.user_id,a.grade_sum grade_sum,user.name name ,rank()over(order by grade_sum desc) rk from (select user_id,sum(grade_num) grade_sum from grade_info group by user_id) a join user on a.user_id=user.id ) b where b.rk=1