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

获得积分最多的人(三)

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

SELECT id,name,grade_sum
FROM
(-- 获得每个人对应的总分数grade_sum
	SELECT  user_id,
                grade_sum,
                RANK() OVER(ORDER BY t.grade_sum DESC) AS rk
	FROM
	(
		SELECT  user_id,
                        SUM(IF(type = 'add',grade_num, -grade_num)) AS grade_sum
		FROM grade_info
                GROUP BY user_id
	) AS t
) AS m
JOIN user AS n
ON n.id = m.user_id
WHERE rk = 1

全部评论

相关推荐

挣K存W养DOG:他真的很中意你,为什么不回他
点赞 评论 收藏
分享
10-09 09:39
门头沟学院 C++
HHHHaos:这也太虚了,工资就一半是真的
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务