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

获得积分最多的人(二)

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

select u.id,u.name,g.s from user u left join (select user_id, sum(grade_num) s from grade_info group by user_id) g on u.id = g.user_id
where g.s =
(select sum(grade_num) over(partition by user_id order by user_id) s_n 
from grade_info order by s_n desc limit 1)

思路:先求出最大值

select sum(grade_num) over(partition by user_id order by user_id) s_n 
from grade_info order by s_n desc limit 1

将两个表合并,求出各个id的sum值,通过where找出最大值

select u.id,u.name,g.s from user u left join (select user_id, sum(grade_num) s from grade_info group by user_id) g on u.id = g.user_id
where g.s =
(select sum(grade_num) over(partition by user_id order by user_id) s_n 
from grade_info order by s_n desc limit 1)
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:23
转人工😡
门口唉提是地铁杀:五次握手了
点赞 评论 收藏
分享
好想摆:一想到我苦苦追求的迪子私下里却是985的马子,我的心就在滴血😭😭😭
点赞 评论 收藏
分享
ZywOo_求职版:谁问你了....
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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