当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


SQL Server RANK()用法及代码示例


RANK()函数是一个窗口函数,可以在SQL Server中用于为结果集的分区内的每一行计算等级。

将相同的等级分配给分区中具有相同值的行。第一行的等级为1。在RANK()函数中,等级可能不连续,因为它将重复的行数添加到重复的等级以计算下一行的等级。

用法:

RANK() OVER (
   [PARTITION BY expression, ]
   ORDER BY expression (ASC | DESC) );

范例-
让我们创建一个只有列Name的表geek_demo:



CREATE TABLE geek_demo (Name VARCHAR(10) );

现在,将一些行插入到sales.rank_demo表中:
插入geek_demo(名称)

VALUES('A'), ('B'), ('B'), ('C'), ('C'), ('D'), ('E');

从geek_demo表中选择数据:

SELECT * 
FROM sales.geek_demo; 

名称
A
B
B
C
C
D
E

让我们使用RANK()为geek_demo表的结果集中的行分配等级:

SELECT Name, 
RANK () OVER (
ORDER BY Name
) AS Rank_no 
FROM geek_demo;

输出-

名称 Rank_no
A 1
B 2
B 2
C 4
C 4
D 6
E 7

相关用法


注:本文由纯净天空筛选整理自khushboogoyal499大神的英文原创作品 RANK() Function in SQL Server。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。