select u.name, sum(g.grade_num) over(partition by g.user_id) grade_num
from grade_info g
right join 
user u
on g.user_id=u.id
order by grade_num desc
limit 1
  • 利用窗口函数得到求和
  • 然后使用order by和limit配合得到唯一一行数据
  • 注意order by 是grade_num 而不是 g.grade_num