Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
为每一行指派一个唯一的编号。使用此函数替代 NUMBER 函数。
ROW_NUMBER( ) OVER ( window-spec )
window-spec:请参见下面的注释部分
INTEGER
可以在函数语法中指定 window-spec 的元素(内置),也可以将这些元素与 SELECT 语句中的 WINDOW 子句一并加以指定。作为窗口函数使用时,必须指定 ORDER BY 子句,还可以指定 PARTITION BY 子句,但不能指定 ROWS 或 RANGE 子句。请参见 WINDOW 子句的 window-spec 定义。
有关在 SELECT 语句中使用窗口函数的详细信息(包括工作示例),请参见窗口函数。
有关在 OVER 子句中指定窗口说明的详细信息,请参见窗口定义:内置使用 OVER 子句和 WINDOW 子句。
SQL/2008 ROW_NUMBER 是可选 SQL/2008 语言功能 T611 "基础 OLAP 操作" 的一部分。
以下语句返回一个结果集,它提供 New York 和 Utah 州每个雇员的唯一行号。由于该查询按 Salary 降序排序,因此第一个行号将指派给数据集中薪水最高的雇员。尽管有两个雇员的薪水完全相同,但不会解决这种并列情况,因为给这两个雇员指派了唯一的行号。
SELECT Surname, Salary, State, ROW_NUMBER() OVER (ORDER BY Salary DESC) "Rank" FROM GROUPO.Employees WHERE State IN ('NY','UT');