【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】 文章被收录于专栏

少壮不努力,老大勤刷题

全部评论

相关推荐

01-15 19:59
中山大学 C++
牛客60887332...:你这是人写出来的? 本科标到硕士后面 留那么多空给 hr 填?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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