题解 | #获得积分最多的人(三)#
获得积分最多的人(三)
https://www.nowcoder.com/practice/d2b7e2a305a7499fb310dc82a43820e8
with final as (select a.id, b.name, a.grade_num, dense_rank() over (order by a.grade_num DESC) as dr from (select user_id as id, sum(case when type = 'add' then grade_num when type = 'reduce' then grade_num*(-1) end) as grade_num from grade_info group by user_id order by user_id) a join user b on a.id = b.id) select id, name, grade_num from final where dr = 1