码迷,mamicode.com
首页 > 其他好文 > 详细

查询各科成绩前三名的记录

时间:2016-11-29 09:46:11      阅读:427      评论:0      收藏:0      [点我收藏+]

标签:内部排序   ges   core   class   顺序   ber   alt   str   rom   

查询各科成绩前三名的记录:(不考虑成绩并列情况),显示(学号、课程号、分数)

SELECT * FROM (
              SELECT SC.STUDENT_NO SNO,
              SC.COURSE_NO CNO,
              SC.CORE SCORE,
              ROW_NUMBER() OVER(PARTITION BY SC.COURSE_NO ORDER BY SC.CORE DESC) RN
              FROM HAND_STUDENT_CORE SC) A
WHERE A.RN <= 3

row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 

表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)

技术分享

 

查询各科成绩前三名的记录

标签:内部排序   ges   core   class   顺序   ber   alt   str   rom   

原文地址:http://www.cnblogs.com/yeshadow937/p/6112202.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!