排名函数为分区中的每一行返回一个排名值。根据所用函数的不同,某些行可能与其他行接收到相同的值。排名函数具有不确定性。

 

DENSE_RANK ( )    OVER ( [ <partition_by_clause> ] < order_by_clause > )

返回结果集分区中行的排名,在排名中没有任何间断。行的排名等于所讨论行之前的所有排名数加一。

RANK ( )    OVER ( [ < partition_by_clause > ] < order_by_clause > )
返回结果集的分区内每行的排名。行的排名是相关行之前的排名行数加一。
NTILE (integer_expression)    OVER ( [ <partition_by_clause> ] < order_by_clause > )
将有序分区中的行分发到指定数目的组中。各个组有编号,编号从一开始。对于每一个行,NTILE 将返回此行所属的组的编号。
ROW_NUMBER ( )     OVER ( [ <partition_by_clause> ] <order_by_clause> )
返回结果集分区内行的序列号,每个分区的第一行从 1 开始。

 

posted on 2011-11-19 19:25  星星点灯6  阅读(280)  评论(0编辑  收藏  举报