窗口名称子句
定义命名窗口,为分析函数指定窗口分区和顺序子句。此窗口在函数的 OVER
子句中指定。当您编写通过类似的 OVER
子句调用多个分析函数的查询时——例如,它们使用相同的 (PARTITION BY
) 分区子句,命名窗口非常有用。
语法
WINDOW window‑name AS ( window-partition-clause [window-order-clause] )
参数
-
WINDOW window‑name
- 指定窗口名称。在同一个查询中,所有窗口名称都必须是唯一的。
-
window‑partition‑clause [window‑order‑clause]
- 当
OVER
子句引用此窗口时调用的子句。如果窗口忽略了窗口顺序子句,则
OVER
子句可以指定自己的顺序子句。
要求
-
WINDOW
子句不能包含窗口框架子句。 -
同一个查询中的每个
WINDOW
子句都必须拥有唯一的名称。 -
WINDOW
子句可引用另一个已经命名的窗口。例如,下述查询先命名w1
,再命名w2
。因此,定义WINDOW
的w2
子句可引用w1
:=> SELECT RANK() OVER(w1 ORDER BY sal DESC), RANK() OVER w2 FROM EMP WINDOW w1 AS (PARTITION BY deptno), w2 AS (w1 ORDER BY sal);
示例
请参阅命名窗口。