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

获得积分最多的人(三)

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

with square as(
    select user_id,sum(if(type='add',grade_num,-1*grade_num)) as gr from grade_info w group by user_id
)  # 核心代码  统计和  加减

select user_id, us.name,sqs.gr from(
    select user_id,
        square.gr,   #cte 统计的数据
       dense_rank() over(order by gr desc ) as grs  #窗口函数排序
from square 
)as sqs
inner join user as us on us.id=sqs.user_id  #查询user 的name
where sqs.grs=1   #窗口函数排序  条件为最高

全部评论

相关推荐

在看牛客的社畜很积极:身高体重那一行信息去掉,学校那一行的信息放上面,找半天都没找到你是哪个学校什么专业的
点赞 评论 收藏
分享
哇哇的菜鸡oc:他这不叫校招offer,而是实习offer
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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