select u.id,u.name, c.grade_num 
from(
    select a.user_id,a.grade_num
    from (select user_id,sum(grade_num) grade_num from grade_info group by user_id) a
    where grade_num=(
        select sum(grade_num) grade_num
        from grade_info
        group by user_id
        order by grade_num desc
        limit 1
    )
    group by a.user_id
    order by a.user_id) c
left join 
user u
on c.user_id = u.id
order by u.id
  • 找到最大值
  • 筛选得到id和分数
  • 然后连接表获得名字