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

获得积分最多的人(三)

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

SELECT id, name, grade_sum
FROM
(SELECT user_id, 
grade_sum, 
DENSE_RANK() OVER(ORDER BY grade_sum DESC) AS 't_rank'
FROM
(SELECT user_id, 
(SUM(IF(type = 'add', grade_num, 0))-SUM(IF(type = 'reduce', grade_num, 0))) AS 'grade_sum'
FROM grade_info
GROUP BY user_id) t1) t2,
user u
WHERE t2.user_id = u.id AND t_rank = 1
ORDER BY id;
全部评论

相关推荐

11-03 13:18
门头沟学院 Java
包行:平时怎么刷算法题的哇,字节的手撕听说都很难
字节跳动工作体验
点赞 评论 收藏
分享
10-30 16:31
重庆大学 Java
代码飞升_不回私信人...:你说你善于学习,大家都会说。你说你是985,985会替你表达一切
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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