#每个用户在每个试卷下的最大分和最小分 with a as (select tag,uid,max(score) as max_score,min(score) as min_score from examination_info ei join exam_record er on ei.exam_id = er.exam_id group by tag,uid) #每类试卷得分的前3名 select * from (select tag,uid,row_number() over(partition by tag order by max_score desc,min_score desc,uid desc) as ranking from a)b where ranking<4
二刷