with
t1 as(
    select
        user_id,
        sum(grade_num) as grade_num
    from
        grade_info
    group by
        user_id
),
t2 as(
    select
        id,
        name,
        grade_num,
        dense_rank()over(order by grade_num desc) as g_rank
    from
        t1 left join user on t1.user_id=user.id
)

select
    id,
    name,
    grade_num
from
    t2
where
    g_rank=1
order by
    id