您可在不包括 CONNECT BY 子句的那些 SELECT 子句的最终的 ORDER BY 子句中包括 OLAP window 函数。
如果在 ORDER BY 子句中出现 OLAP 函数子句,则在 ORDER BY 求值之前,先求值 OLAP 函数。
一般地说,对于包括一个或多个 OLAP window 函数的简单的 SELECT 语句,数据库服务器遵循下列处理次序:
对于嵌套查询,每一子查询都遵循上述顺序,但将 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 子句。