您可在不包括 CONNECT BY 子句的那些 SELECT 子句的最终的 ORDER BY 子句中包括 OLAP
window 函数。
如果在 ORDER BY 子句中出现 OLAP 函数子句,则在 ORDER BY 求值之前,先求值 OLAP 函
数。
一般地说,对于包括一个或多个 OLAP window 函数的简单的 SELECT 语句,数据库服务器遵循
下列处理次序:
将任何连接、过滤器、GROUP BY 或 HAVING 规范应用于获取符合条件的行的集合,来
作为查询集合返回。
创建符合条件的行的 window 分区,并将指定的 OLAP 函数应用于每一分区结果集(或
应用于这个查询结果集,如果未定义分区的话)中的每一行。
将 SELECT 语句的 ORDER BY 子句应用于最终的查询结果。
对于嵌套查询,每一子查询都遵循上述顺序,但将 OLAP window 分区及其 OLAP 函数应用于最
里面的子查询的结果集,在其中定义该 OLAP window。
如果 OLAP window 包括 window ORDER 子句,则那个子句,而不是 SELECT 语句的 ORDER
BY 子句,定义 window ROW_NUMBER 函数在同一 OLAP window 的分区中分配给这些行的行
编号。然而,window ORDER 子句不定义查询结果集的排序,由 SELECT 语句的 ORDER BY 子
句定义。
如果 OLAP window 不包括 window ORDER 子句,则以任意的顺序排列 window ROW_NUMBER
函数分配给这些行的行编号,如查询或子查询返回的那样,而不是根据 SELECT 语句的任何
ORDER BY 子句。