题解 | #每类试卷得分前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排序得到排名,取出前三名作为最终结果

全部评论

相关推荐

搞机墨镜猫:科研和竞赛全写成项目经历,另外你项目涉及到的技术栈太杂了,应该对不同岗位强调写不同的技术栈,寒假应该不太好找短期,长期明年3,4月好找很多
点赞 评论 收藏
分享
01-14 16:23
广州商学院 Java
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

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