SELECT tag,uid,ranking
FROM (
    SELECT b.tag,a.uid,
    ROW_NUMBER()OVER(PARTITION BY tag ORDER BY max(a.score) DESC,min(a.score) DESC,a.uid DESC) ranking
        
    FROM exam_record a 
    LEFT JOIN examination_info b ON a.exam_id=b.exam_id
    GROUP BY b.tag,a.uid)t1
    
WHERE ranking<=3

这里要记住 利用order by max(score) desc, min(score) desc, uid 排序来得出,两个高分一样的时候,选择低分最大的排在前面,如果两个都一样,那就选择uid最大的放前面。