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

获得积分最多的人(三)

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


全部评论

相关推荐

点赞 评论 收藏
分享
钱嘛数字而已:辅导员肯定不能同意,不然你出事了,他要承担责任。但是,脚和脑子都长在你自己身上,使用它还需要向辅导员报告么? 辅导员必须按流程拒绝你,然后你拿出成年人的态度,做自己的选择。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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