描述
牛客每天有很多用户刷题,发帖,点赞,点踩等等,这些都会记录相应的积分。
有一个用户表(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个),以上例子查询结果如下:
解释:
user_id为1的总计加了4分,其他的都是3分,user_id为1的name为tm
输出tm|4
WITH sum_table AS (SELECT *, SUM(grade_num) AS grade_sum FROM grade_info GROUP BY user_id ORDER BY grade_sum DESC LIMIT 1) SELECT user.name, sum_table.grade_sum FROM user JOIN sum_table ON user.id = sum_table.user_id;