select u.id,u.name,g.grade_num from user u join (select user_id,sum(grade_num) as grade_num,dense_rank()over(order by sum(grade_num) desc ) as g_rank from grade_info group by user_id ) g on u.id=g.user_id where g.g_rank=1 order by u.id