SQL90 获得积分最多的人(二)
牛客每天有很多用户刷题,发帖,点赞,点踩等等,这些都会记录相应的积分。
有一个用户表(user),简况如下:
还有一个积分表(grade_info),简况如下:
第1行表示,user_id为1的用户积分增加了3分。
第2行表示,user_id为2的用户积分增加了3分。
第3行表示,user_id为1的用户积分又增加了1分。
…
最后1行表示,user_id为3的用户积分增加了1分。
请你写一个SQL查找积分增加最高的用户的id(可能有多个),名字,以及他的总积分是多少,查询结果按照id升序排序,以上例子查询结果如下:
解释:
user_id为1和3的2个人,积分都为4,都要输出
——————————————————————————————————————————————————————
select id,name,sum(grade_num) as grade_sum
from user join grade_info
on user.id = grade_info.user_id
group by id,name
having grade_sum=(select sum(grade_num)
from grade_info
group by user_id
order by sum(grade_num) DESC
limit 1)
order by id