Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 函数 » SQL 函数 (P-Z)

 

PERCENT_RANK 函数 [Ranking]

对于任意的行 X(由函数的参数和 ORDER BY 说明来定义),PERCENT_RANK 函数计算其排位的方法是:用行 X 减 1 除以组中的行数。

语法
PERCENT_RANK( ) OVER ( window-spec )
window-spec:请参见下面的“注释”部分
返回值

PERCENT_RANK 函数返回介于 0 和 1 之间的 DOUBLE 值。

注释

可以在函数语法中指定 window-spec 的元素(内置),也可以将这些元素与 SELECT 语句中的 WINDOW 子句一并加以指定。作为窗口函数使用时,必须指定 ORDER BY 子句,还可以指定 PARTITION BY 子句,但不能指定 ROWS 或 RANGE 子句。请参见WINDOW 子句中提供的 window-spec 定义。

有关在 SELECT 语句中使用窗口函数的详细信息(包括工作示例),请参见窗口函数

另请参见
标准和兼容性
  • SQL/2003   SQL/OLAP 特性 T612。

示例

以下示例返回按性别显示 New York 雇员薪水排位的结果集。这些结果按降序列出排位并按性别分区。

SELECT DepartmentID, Surname, Salary, Sex,
PERCENT_RANK() OVER (PARTITION BY Sex
ORDER BY Salary DESC) "Rank"
FROM Employees 
WHERE State IN ('NY');
DepartmentID Surname Salary Sex Rank
200 Martel 55700.000 M 0
100 Guevara 42998.000 M 0.333333333
100 Soo 39075.000 M 0.666666667
400 Ahmed 34992.000 M 1
300 Davidson 57090.000 F 0
400 Blaikie 54900.000 F 0.333333333
100 Whitney 45700.000 F 0.666666667
400 Wetherby 35745.000 F 1