查询各科成绩前三名的记录:(不考虑成绩并列情况),显示(学号、课程号、分数)
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排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)
时间: 2024-10-26 15:26:48