题目描述: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那个结果。