题解 | 获得积分最多的人(一)

获得积分最多的人(一)

https://www.nowcoder.com/practice/1bfe3870034e4efeb4b4aa6711316c3b

select name, grade_num from(
select name, row_number() 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


思路:先算每个用户的累计得分,再对累计得分进行排名,再取出排名第一的

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务