最后一题以做对结束!

SELECT user.id, user.name, t.grade_sum
from(    

    SELECT user_id, sum(gn) grade_sum, 
        dense_rank() over( order by sum(gn) desc) rnk
    from 
    (select user_id, 
             (case when type='add' then grade_num 
              else (-grade_num) end) gn
    from grade_info) t
    GROUP BY user_id
    ) t 
JOIN user
ON t.user_id=user.id
where t.rnk='1'
order by user.id