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

获得积分最多的人(一)

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

相比于常规的group by 此处使用over开窗更方便 首先利用开窗对每个用户的总积分求和,然后使用order by 排序,再通过limit取得总积分最高的人,最后再通过user表查找姓名即可

select name,grade_num from 
(select user_id,sum(grade_num) over(partition by user_id) as 
grade_num from grade_info order by grade_num desc limit 1) as t,
user u 
where t.user_id = u.id
全部评论

相关推荐

牛客840099999号:没见过这样的大厂,至少头部的肯定没有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务