题解 | #获得积分最多的人(三)#
获得积分最多的人(三)
http://www.nowcoder.com/practice/d2b7e2a305a7499fb310dc82a43820e8
select distinct u.id,u.name,ttt.total_sum as grade_num from user u join ( select tt.user_id, tt.total_sum, dense_rank() over (order by tt.total_sum desc) as rn from ( select t.user_id, sum(t.grade)over(partition by t.user_id) as total_sum FROM ( select user_id, case when type = 'add' then grade_num1 else grade_num(-1) end as grade from grade_info ) t)tt)ttt on u.id = ttt.user_id where ttt.rn = 1 order by id