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

每类试卷得分前3名

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

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

新知识点:

  1. group by 后边加多个字段,参考该博客https://blog.csdn.net/qq_47699076/article/details/127946512
  2. 开窗函数:row_number()over(partition by 'col' order by 'col1,col2'.),开窗函数和聚合函数的区别:根据group by+字段把字段聚成一组,然后对改组进行操作,而partition by是把字段聚成一组,但是是按照每一条数据进行操作。

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 17:10
什么素质,我请问呢,要掉小珍珠了。。。又憋屈又生气
苍蓝星上艾露:给它们能的,一群dinner牛马挥刀向更弱者罢了。我写的开源求职AI co-pilot工具,优化你的简历,找到你匹配的岗位,定制你的简历,并让你做好面试准备https://github.com/weicanie/prisma-ai
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
Lorn的意义:你这标个前端是想找全栈吗?而且项目确实没什么含金量,技术栈太少了,边沉淀边找吧 现在学院本想就业好一点四年至少得高三模式两年加油吧
点赞 评论 收藏
分享
练习生懒羊羊:开飞机把这个公司创飞吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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