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

获得积分最多的人(三)

https://www.nowcoder.com/practice/d2b7e2a305a7499fb310dc82a43820e8

select
b.id
,b.name
,c.总积分
from
    (select
    user_id
    ,总积分
    ,dense_rank()over(order by 总积分 desc) as de_rk
    from
        (select
        user_id
        ,sum(if(type='add',+grade_num,-grade_num)) as 总积分
        from grade_info
        group by 1) a
    )c
      join user b
    on c.user_id=b.id
where de_rk=1
group by 1,2
order by b.id;

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务