题解 | #每类试卷得分前3名#题目实例解释有问题,按tag和uid分组求最大最小值,再排序就行了

每类试卷得分前3名

http://www.nowcoder.com/practice/255aa1863fe14aa88694c09ebbc1dbca

select * from (
        select tag as tid,uid,row_number()over(partition by tag order by max_score desc,min_score desc,uid desc) as ranking
        from (
                select uid,max(score) as max_score,min(score) as min_score,tag
                from exam_record t1
                join examination_info t3 on t1.exam_id = t3.exam_id
                group by uid,tag
                ) t 
    ) t2
where ranking < 4


全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务