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

获得积分最多的人(二)

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

# 将两表连接起来,保留需要的字段
# 挑选出增加积分最多的用户
select g1.user_id,u1.name,sum(g1.grade_num) as grade_sum from 
grade_info as g1 left join user as u1 
on g1.user_id = u1.id 
where g1.user_id in (
# 找出增加积分最多的用户
select t2.user_id from (
select t1.user_id,DENSE_RANK() over(order by t1.grade_sum_1 desc) as rank_sum 
from (
select g2.user_id,sum(g2.grade_num) as grade_sum_1 from 
grade_info as g2 group by g2.user_id ) t1 ) t2 
where t2.rank_sum = 1 ) 
group by g1.user_id 
order by g1.user_id 

全部评论

相关推荐

09-19 12:15
门头沟学院 Java
迷茫的大四🐶:这下是真的打牌了,我可以用感谢信和佬一起打牌吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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