题解 | #获得积分最多的人(二)#
获得积分最多的人(二)
http://www.nowcoder.com/practice/b6248d075d2d4213948b2e768080dc92
分组求和并编号排序,然后取出编号为1的记录
SELECT a.user_id AS id,user.name,a.grade_num
FROM (
SELECT g.user_id,SUM(g.grade_num) AS grade_num,DENSE_RANK() OVER(ORDER BY SUM(g.grade_num) DESC) AS t_rank
FROM grade_info as g
GROUP BY g.user_id
) AS a,user
WHERE a.user_id=user.id AND a.t_rank=1
ORDER BY a.user_id