select user.id,user.name, t.grade_sum from (
select user_id,sum(grade_num)over(partition by user_id) grade_sum
from grade_info
) t join user
on t.user_id = user.id
where t.grade_sum = (select max(t1.grade_sum)
from (
select user_id,
sum(grade_num)over(partition by user_id) grade_sum
from grade_info) t1)
group by user_id
order by user_id;