题解 | #获得积分最多的人(三)#
获得积分最多的人(三)
http://www.nowcoder.com/practice/d2b7e2a305a7499fb310dc82a43820e8
select user_id,name,s1 from(select user_id,name,s1,dense_rank()over(order by s1 desc)dr from(select distinct user_id,name,sum(t1)over(partition by user_id)as s1 from(select user_id,(cast(grade_num as signed)*cast(t as signed))as t1 from(select *, case when type='add'then '1' else'-1' end as t from grade_info)a)b join user u on b.user_id=u.id)c)d where d.dr=1