pythonSELECT student_id, subject, score, RANK() OVER (PARTITION BY subject ORDER BY score DESC) AS ranking FROM students_scores;
RANK 函数:
当存在相同值时,会跳过相应的排名数。例如,如果有两个学生成绩相同并列第 2 名,那么下一名的排名是第 4 名。
DENSE_RANK 函数:
排名是连续的。同样是两个学生成绩相同并列第 2 名,下一名的排名是第 3 名。例如,在上述学生成绩表中,如果使用DENSE_RANK函数:
pythonSELECT student_id, subject, score, DENSE_RANK() OVER (PARTITION BY subject ORDER BY score DESC) AS ranking FROM students_scores;
本文作者:Eric
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!