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 函数 (A-D)

 

CUME_DIST 函数 [Ranking]

计算某个值在一组行中的相对位置。

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

介于 0 和 1 之间的 DOUBLE 值。

注释

目前不允许在 CUME_DIST 函数中使用组合排序键。您可以在任何其它秩函数中使用组合排序键。

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

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

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

示例

以下示例返回一个包含居住在 California 的职员的薪水累计分布的结果集。

SELECT DepartmentID, Surname, Salary,
CUME_DIST() OVER (PARTITION BY DepartmentID
ORDER BY Salary DESC) "Rank"
FROM Employees 
WHERE State IN ('CA');

以下是该结果集:

DepartmentID Surname Salary Rank
200 Savarino 72300.000 0.333333333333333
200 Clark 45000.000 0.666666666666667
200 Overbey 39300.000 1