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

获得积分最多的人(二)

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

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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