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

每类试卷得分前3名

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

select tag as tid,uid ,ranking 
 from (
 SELECT b.tag,a.uid,max(a.score),min(a.score),
row_number() over (partition by tag order by max(a.score) desc ,min(a.score) desc ,a.uid desc) as ranking 
 /*先按照最高分,再按照最低分排,最后按照uid排序 */
 FROM exam_record a 
 LEFT JOIN examination_info b ON a.exam_id=b.exam_id
 GROUP BY b.tag,a.uid
 ) as newtable
 where ranking <=3;
 
 ##注意的一点就是,语句报错SQL_ERROR_INFO: 'Every derived table must have its own alias'
 ##原因是因为对于select生成的表 必须命个别名,as newtable,结果顺利运行
全部评论

相关推荐

07-17 12:09
门头沟学院 Java
讲的口干舌燥,头都晕了怎么要讲这么长啊
码农索隆:没事,你口干舌燥,他不一定会看,
投递小鹏汽车等公司7个岗位
点赞 评论 收藏
分享
07-02 10:39
门头沟学院 Java
Steven267:说点真实的,都要秋招了,还没有实习,早干嘛去了,本来学历就差,现在知道急了,而且你这个简历完全可以写成一页,劣势太大了,建议转测试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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