dense_rank()
对结果集进行排序,排名值没有间断。 特定行的排名等于该特定行之前不同排名值的数量加一。
DENSE_RANK ( ) OVER ( [ <partition_by_clause> ] < order_by_clause > )
利用dense_rank(),按每门课程成绩的高低进行排序,sql如下:
SELECT
final_score,
dense_rank ( ) OVER ( ORDER BY final_score DESC ) AS sort
FROM
ass_assessment_detail
ORDER BY
final_score DESC
SELECT
final_score,
rank ( ) OVER ( ORDER BY final_score DESC ) AS sort
FROM
ass_assessment_detail
ORDER BY
final_score DESC
从上述执行结果可以看出:
dense_rank函数和rank()函数的相同点在于相同的成绩排名相同,区别是rank()是不连续的,dense_rank()是连续的。
版权声明:本文为qq_32431981原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。