select
ROW_NUMBER() OVER(ORDER BY Convey_Fee desc) as z,
rank() OVER(ORDER BY Convey_Fee desc) as z,
DENSE_RANK() OVER(ORDER BY Convey_Fee desc) as z,
NTILE(4) OVER(ORDER BY Convey_Fee desc) as z,
(select sum(1) from Consign_D where Convey_Fee<=a.Convey_Fee) num,
(select sum(1) from Consign_D where Convey_Fee<a.Convey_Fee) num1
,Convey_Fee
from Consign_D a
order by Convey_Fee desc
结果
前4个ROW_NUMBER,RANK,DENSE_RANK和NTILE是SQL 2005新增加的!
后面2个是SQL 2000的
SQL Server 2005中引入了四个新的评价函数:ROW_NUMBER,RANK,DENSE_RANK和NTILE。尽管这些与SQL Server 2000所提供的函数相比是一个明显的进步,但是这些函数的使用仍然存在一些限制(要求使用派生表或视图来实现功能更为强大的应用程序)。下面让我们分析一下每一个函数。
这个ROW_NUMBER函数把一个序数值赋给每一个返回的记录,该序数