此题几乎上一题几乎一模一样,只是在type类型中加了个reduce, 使用if语句进行判断,该加的加,该减的减去. 步骤: 1.先利用sum函数对么个用户进行求和, 2.利用窗口函数rank()进行排名, 3.加上限定条件只取排名第一的用户进行输出. 注意最后的排序是按照用户的id升序排序的,排序函数默认都是选择升序的 思路简单清晰. select u.id,u.name,b.grade as grade_sum from (select user_id,a.grade, rank() over(order by a.grade desc) as t_rank from (SELECT use...