描述
牛客每天有很多用户刷题,发帖,点赞,点踩等等,这些都会记录相应的积分。
有一个用户表(user),简况如下:

还有一个积分表(grade_info),简况如下:

第1行表示,user_id为1的用户积分增加了3分。
第2行表示,user_id为2的用户积分增加了3分。
第3行表示,user_id为1的用户积分又增加了1分。
…
最后1行表示,user_id为5的用户积分增加了3分。
请你写一个SQL查找积分增加最高的用户的名字,以及他的总积分是多少(此题数据保证积分最高的用户有且只有1个),以上例子查询结果如下:

SQL练习题89(中等):
SELECT a.name,max(b.sum_num)
from user a
left join (select user_id,sum(grade_num) sum_num
from grade_info
group by user_id
order by sum_num desc
limit 1) b
on a.id=b.user_id
where b.user_id is not null
group by a.name;
这是一道SQL练习题,要求从用户表和积分表中查找积分增加最高的用户信息。通过左连接用户表和积分表,对积分进行求和并按积分降序排序,限制只取第一项,从而找到积分最高的用户及其总积分。
2477

被折叠的 条评论
为什么被折叠?



