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 的用法 » 查询和修改数据 » OLAP 支持 » SQL Anywhere 中的窗口函数

 

窗口秩函数

窗口秩函数返回分区中某个行相对于其它行的秩。SQL Anywhere 所支持的秩函数有:

秩函数不被视为集合函数,因为它们并不采用与集合函数(例如 SUM 集合函数)相同的方式来计算多个输入行的结果。而是由上述每个函数根据特定表达式的值,计算分区内行的秩或相对排序。分区内的每组行均独立排序;如果 OVER 子句不包含 PARTITION BY 子句,则将整个输入视为单个分区。因此,不能为秩函数所使用的窗口指定 ROWS 或 RANGE 子句。可以构成包含多个秩函数的查询,其中的每个秩函数以不同方式划分或排序输入行。

所有秩函数都需要有一个 ORDER BY 子句,以指定秩函数所依赖的输入行的排序顺序。当 ORDER BY 子句包括多个表达式时,若第一个表达式与相邻行具有相同值,则第二个及后续表达式将用于区分并列情况。在 SQL Anywhere 中,始终将 NULL 值排在任何其它值的前面(在升序序列中)。


RANK 函数
DENSE_RANK 函数
CUME_DIST 函数
PERCENT_RANK 函数