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

获得积分最多的人(三)

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

select
    user_id,
    name,
    grade_num
from(
        select
            distinct(user_id),
            name,
            grade_num,
            max(grade_num) over() as max_num
        from(
                select
                    user_id,
                    name,
                    sum(grade_num) over(partition by user_id order by user_id) as grade_num
                from(
                        select
                            user_id,
                            name,
                            case when type='reduce' then (0-grade_num)
                                else grade_num
                            end as grade_num,
                            type
                        from 
                            user u,
                            grade_info g
                        where
                            u.id = g.user_id
                    ) a
            ) b
) c
where 
    c.grade_num = c.max_num

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务