窗口秩函数返回分区中某个行相对于其它行的秩。SQL Anywhere 所支持的秩函数有:
秩函数不被视为集合函数,因为它们并不采用与集合函数(例如 SUM 集合函数)相同的方式来计算多个输入行的结果。而是由上述每个函数根据特定表达式的值,计算分区内行的秩或相对排序。分区内的每组行均独立排序;如果 OVER 子句不包含 PARTITION BY 子句,则将整个输入视为单个分区。因此,不能为秩函数所使用的窗口指定 ROWS 或 RANGE 子句。可以构成包含多个秩函数的查询,其中的每个秩函数以不同方式划分或排序输入行。
所有秩函数都需要有一个 ORDER BY 子句,以指定秩函数所依赖的输入行的排序顺序。当 ORDER BY 子句包括多个表达式时,若第一个表达式与相邻行具有相同值,则第二个及后续表达式将用于区分并列情况。在 SQL Anywhere 中,始终将 NULL 值排在任何其它值的前面(在升序序列中)。
RANK 函数
DENSE_RANK 函数
CUME_DIST 函数
PERCENT_RANK 函数
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |