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

获得积分最多的人(三)

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

WITH total_grade AS (
    SELECT user_id, SUM(IF(type='add', grade_num, -grade_num)) AS grade
    FROM grade_info
    GROUP BY user_id
),
max_grade AS (
    SELECT MAX(grade)
    FROM total_grade
)
SELECT u.id, u.name, t.grade AS grade_num
FROM user AS u
INNER JOIN total_grade AS t
ON u.id = t.user_id
WHERE t.grade
IN (SELECT * FROM max_grade);

全部评论

相关推荐

点赞 评论 收藏
分享
头像
02-26 13:58
门头沟学院 Java
北城_阿亮:把八股背一背,包装一下实习经历项目经历,要是有心思考证就考一考,然后把别人的项目爬到自己github上,包装到简历里,什么三个月?一个月!
点赞 评论 收藏
分享
03-19 10:07
已编辑
广东药科大学 Java
Yki_:你倒是进一个面啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务