题解 | 获得积分最多的人(二)
获得积分最多的人(二)
https://www.nowcoder.com/practice/b6248d075d2d4213948b2e768080dc92
select distinct id,name, grade_num from( select id,name, dense_rank() over (order by grade_num desc) as rk,grade_num from( select u.id,u.name,sum(g.grade_num) over(partition by g.user_id) as grade_num from user u join grade_info g on u.id = g.user_id )a)b where rk=1
在上一题基础上,把row_number 换成dense_rank;
再添加一个distinct--虽然不知道为啥不加结果就会有重复