最后一题以做对结束!
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