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]

评论已关闭。