【Mysql】题解 | #获得积分最多的人(二)#
获得积分最多的人(二)
http://www.nowcoder.com/practice/b6248d075d2d4213948b2e768080dc92
题目描述:SQL查找积分增加最高的用户的id(可能有多个),名字,以及他的总积分是多少,查询结果按照id升序排序。
with gi as ( select user_id, sum(grade_num) as grade_sum from grade_info group by user_id ) select u.id,u.name,gi.grade_sum from user u join gi on u.id=gi.user_id where gi.grade_sum =(select max(grade_sum) from gi) order by u.id
gi表查询每个user_id对应的总grade_num。然后直接与user连接,筛选出最大grade_sum那个结果。
牛客题霸-SQL篇【Mysql】 文章被收录于专栏
少壮不努力,老大勤刷题