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

获得积分最多的人(三)

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

with grade as 
(
  select user_id,sum(grade_change) grade_num
  from (
    select user_id,grade_num
    ,case when type='add' then grade_num else (-1)*grade_num end grade_change
    from grade_info) as t1
  group by user_id
) -- 用户积分表

select id,name,grade_num
from (
  select user.id,name,grade_num
  ,dense_rank()over(order by grade_num desc) posn
  from user
  inner join grade
  on user.id=grade.user_id
) as t2
where posn=1


全部评论

相关推荐

面试拷打成m:我感觉他说的挺对的,感觉我找不到工作也要去送外卖了,至少饿不死
点赞 评论 收藏
分享
在秋招的河老师很爱吃:40岁失业 假如22岁开始工作 18年前 2007年那个时候如何 2015年开始互联网爆发 这个时候有了8年经验 然后黄金10年 你想想这些年挣了多少 这要是进的时候某个大厂 这辈子根本花不完了
你找实习最大的坎坷是什么
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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