# 首先连接表,筛选出type是add的数据 # 针对 各个人进行积分求和 # 返回最大的 select distinct b.name as name, b.grade_num as grade_num from (select a.name as name, a.grade_num as grade_num, dense_rank() over(order by a.grade_num desc) as ranks from (select u.name as name, sum(g.grade_num) over(partition by u.id) as grade_num from user as u inner join grade_info as g on u.id = g.user_id where g.type = 'add') a) b where b.ranks = 1

京公网安备 11010502036488号