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

获得积分最多的人(二)

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

本题在聚合的基础上需要得出最大值,进行判断。
我第一思路是:在where或者having子句中得出最大值,然而此版本的MySQL不支持在子句中写(limit)。
因此,创建临时表,然后再查询的时候判断:

with a
as(
select u.id,u.name,
sum(g.grade_num)over(partition by g.user_id order by g.grade_num desc)as grade_sum
from user as u,grade_info as g
where u.id=g.user_id
order by u.id)
select * from a
where a.grade_sum=(select max(a.grade_sum) from a) order by a.id;
全部评论

相关推荐

03-10 10:57
已编辑
门头沟学院 推荐算法
夜夜还好:我们学校说为了学生就业,更新了课程,我今天大二,上学期在学jsp,html,这学期上来工程实践,要求用springboot+vue,说什么这些技术要我们提前自己准备,要不你把学费还我吧,我给b站充个会员,人家教的比你多
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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