排名函数——ROW_NUMBER()、RANK()、DENSE_RANK()和NTILE(n)

排名函数——ROW_NUMBER()、RANK()、DENSE_RANK()和NTILE(n)

ROW_NUMBER()函数:行号,根据作为参数传递给这个函数的ORDER BY子句的值,返回一个不断递增的整数值。如果ROW_NUMBER的ORDER BY的值和结果集中的顺序相匹配,返回值将是递增的,以升序排列。如果ROW_NUMBER的ORDER BY子句的值和结果集中的顺序不同,这些值将不会按顺序列出
RANK()函数:排名, RANK()函数保留列表中行的位置序号,对于每个重复的值,该函数会跳过下面与其相邻的值,于是就可以将下一个不重复的值保留在正确的位置上。
DENSE_RANK()函数:密集排名,DENSE_RANK()函数的工作方式与RANK()函数相同,不过它不会跳过每个连接后的值,这样就不会有值被跳过了,但是在连接处排列序号位置将会丢失。
NTILE(n)函数:分组编号

排名函数——ROW_NUMBER()、RANK()、DENSE_RANK()和NTILE(n)

排名函数——ROW_NUMBER()、RANK()、DENSE_RANK()和NTILE(n)