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

获得积分最多的人(二)

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

题目描述:SQL查找积分增加最高的用户的id(可能有多个),名字,以及他的总积分是多少,查询结果按照id升序排序。

with gi as
(
    select user_id,
        sum(grade_num) as grade_sum
    from grade_info
    group by user_id
)
select u.id,u.name,gi.grade_sum
from user u join gi
        on u.id=gi.user_id
where gi.grade_sum =(select max(grade_sum) from gi)
order by u.id

gi表查询每个user_id对应的总grade_num。然后直接与user连接,筛选出最大grade_sum那个结果。

牛客题霸-SQL篇【Mysql】 文章被收录于专栏

少壮不努力,老大勤刷题

全部评论

相关推荐

喜欢吃蛋糕仰泳鲈鱼是我的神:字节可以找个hr 给你挂了,再放池子捞
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务