#每个用户在每个试卷下的最大分和最小分
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

二刷