SQL Server 中的排名函数

SQL Server 中的排名函数会为分区中的每一行返回一个排名值。微软提供了各种函数,允许我们分配不同的排名。根据您选择的函数,它们会返回不同的数字。下表将向您展示可用排名函数的列表。

排名函数描述
RANK它将为分区中的每个记录分配排名号。
DENSE_RANK它将为分区中的每个记录分配数字,而不跳过数字。
NTILE这将为分区中的每个记录分配一个数字。
ROW_NUMBER它将为分区中的每个唯一记录分配一个顺序号。

SQL Server 中的排名函数示例

在这个 Server 示例中,我们将向您展示所有排名函数在一个地方的功能。

SELECT [FirstName]
      ,[LastName]
      ,[Education]
      ,[Occupation]
      ,[YearlyIncome]
      ,RANK() OVER (ORDER BY [YearlyIncome] DESC) AS RANK
      ,DENSE_RANK() OVER (ORDER BY [YearlyIncome] DESC) AS [DENSE_RANK]
      ,ROW_NUMBER() OVER (ORDER BY [YearlyIncome] DESC) AS [ROW NUMBER]
      ,NTILE(3) OVER (ORDER BY [YearlyIncome] DESC) AS [NTILE NUMBER]
  FROM [Customers]
Ranking Functions Example

评论已关闭。