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

获得积分最多的人(三)

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

# grade_info 需要将type=reduce的grade_num转化为负数
with 
grade_info_real as
(select
*
,case 
    when type='add' then grade_num
    when type='reduce' then -grade_num
end as real_num
from grade_info
)
,total_grade as
(select
*
,sum(g1.real_num)over(partition by g1.user_id) as sum1
from grade_info_real g1
)

select
distinct
t.user_id as id
,u.name as name 
,t.sum1 as grade_num
from total_grade t left join user u
on t.user_id= u.id
where t.sum1 in (select max(sum1) from total_grade)


全部评论

相关推荐

太阳战士:实在不行先找嵌入式测试,干两个月积累一下丰富一下简历然后找开发,记得包装成开发 暑期实习就别看太重了,多找找日常
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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