题解 | #每类试卷得分前3名#

每类试卷得分前3名

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

select tag as tid,uid,ranking
from
(
select tag,exam_record.uid,
row_number() over(partition by tag order by max(score) desc,min(score) desc,exam_record.uid desc) as ranking
from 
exam_record 
left join examination_info
using(exam_id)
group by tag,exam_record.uid) a
where ranking <= 3

row_number窗口函数的应用,按照标签分组,按照最高分数、最低分数、uid排序得到排名,取出前三名作为最终结果

全部评论

相关推荐

评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务