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

获得积分最多的人(一)

https://www.nowcoder.com/practice/1bfe3870034e4efeb4b4aa6711316c3b

-- 解1:
select a.name, sum(b.grade_num ) as grade_num  from user   a left join grade_info b  on a.id=b.user_id group by a.name order by grade_num desc limit 1;
-- 解2
SELECT
	u.NAME,
	b.m
FROM
	USER u
	LEFT JOIN (
	SELECT
		user_id,
		m,
		rank() over ( ORDER BY m DESC ) AS t_rank 
	FROM
		( SELECT user_id, sum( grade_num ) AS m FROM grade_info GROUP BY user_id ) t 
	) AS b ON u.id = b.user_id 
	
WHERE
	b.t_rank = 1;
	

全部评论

相关推荐

03-31 18:02
门头沟学院 Java
白日梦想家_等打包版:不要的哦佛给我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务