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