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

获得积分最多的人(三)

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

SELECT
user_id,
name,
grade_num
FROM(
select 
user_id,
name,
SUM(case when type = 'add' then grade_num
     when type = 'reduce' THEN -1*grade_num 
END) AS grade_num,
rank() over(order by SUM(case when type = 'add' then grade_num
     when type = 'reduce' THEN -1*grade_num 
END) desc) AS T
from 
grade_info u1
LEFT JOIN user U ON U.id = u1.user_id
GROUP BY user_id,name
) AS GH 
WHERE GH.T = 1

#SQL训练#
全部评论

相关推荐

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