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

获得积分最多的人(二)

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

主要根据2号网友得出的解题思路,里面加了一点自己的理解
select u.id,name,g   #---4.最后写需要查找的字段
from
(select user_id,g,rank() over(order by g desc) r  #---2.对t1表的累计积分使用rank() over()进行排序
from
(select distinct user_id,
sum(grade_num) over(partition by user_id) g 
from grade_info
) t1)t2      #--- 1.先写出t1表,通过sum()over()计算出每位用户的累计积分并去重。
join user u   #--- 3.与用户信息表连接,得到姓名信息
on t2.user_id = u.id
where t2.r = 1  #---5.根据题目要求,对数据进行限制
order by u.id

全部评论

相关推荐

01-11 08:47
门头沟学院 Java
choumoduji...:读研的目的就是为了以最快的速度和最低的要求完成“学校”规定的毕业标准,而不是所谓课题组的要求
点赞 评论 收藏
分享
02-25 16:55
已编辑
北京工业大学 Java
211本,找日常实习的话,如果面向中厂的话,需要刷hot100么?因为之前从来没刷过,算法仅限于学校课程水平,准备3月投递简历,现在还需要背八股文,时间有些紧张,还需要刷算法题么?同时什么样的公司可以算是中厂呢?
程序员小白条:中大厂说的上名字的,必定要算法,hot100只是最基础的了,题库远不止100题捏,一般在300-400题量之间,算法=学校课程=简单题也做不出,多准备八股文和算法吧,其他项目可以放放,精刷算法就行了,花时间成长很快的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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