select id,name,grade_num from
(select 
*,
dense_rank() over(order by grade_num desc) as rn
from
(select 
g1.user_id as id,
u1.name,
sum(grade_num) as grade_num
from grade_info g1 join user u1 on g1.user_id = u1.id
group by g1.user_id,u1.name
order by grade_num desc) tb1) tb2 where rn =1;