SQL:89 获得积分最多的人(一)

图片说明

图片说明

结果
写一个SQL查找积分增加最高的用户的名字,以及他的总积分是多少(此题数据保证积分最高的用户有且只有1个),以上例子查询结果如下:
图片说明

这个题可以以grade_info 表 按照user—id分组 sum求和grade_num as grade_sum
然后用这个 表和第一个user表结合 ,使用limit 输出第一个

-- 成绩和user_id

selevt sum(grade_num) grade_sum ,user_id

from grade_info

group by user_id; //算总分按照user_id 分组

-- 结合
select a.name,b.grade_sum

from user a join (

select sum(grade_num) grade_sum ,user_id

from grade_info

group by user_id

) b

on a.id = b.user_id

order by b.grade_sum desc

limit 0,1;

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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