Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
计算一个值在一组值中的排位。如果出现并列的情况,RANK 函数会在排名序列中留出空位。
RANK( ) OVER ( window-spec )
window-spec : see the Remarks section below
INTEGER
可以在函数语法中指定 window-spec 的元素(内置),也可以将这些元素与 SELECT 语句中的 WINDOW 子句一并加以指定。作为窗口函数使用时,必须指定 ORDER BY 子句,还可以指定 PARTITION BY 子句,但不能指定 ROWS 或 RANGE 子句。请参见 WINDOW 子句的 window-spec 定义。请参见WINDOW 子句。
有关在 SELECT 语句中使用窗口函数的详细信息(包括工作示例),请参见窗口函数。
有关在 OVER 子句中指定窗口说明的详细信息,请参见窗口定义:内置使用 OVER 子句和 WINDOW 子句。
SQL/2008 RANK 函数是可选 SQL/2008 语言功能 T612 "高级 OLAP 操作" 的一部分。
以下示例提供了 Utah 和 New York 州雇员薪水的降序排位。注意到第 7 名职员与第 8 名具有相同的薪水因而并列第 7 位。接下来的职员的排位为第 9 位而在排位序列中留下了空位(没有第 8 位排位)。
SELECT Surname, Salary, State, RANK() OVER (ORDER BY Salary DESC) "Rank" FROM Employees WHERE State IN ('NY','UT');