描述
牛客每天有很多用户刷题,发帖,点赞,点踩等等,这些都会记录相应的积分。
有一个用户表(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;