窗口名称子句

定义命名窗口,为分析函数指定窗口分区和顺序子句。此窗口在函数的 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。因此,定义 WINDOWw2 子句可引用 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);
    

示例

请参阅命名窗口

另请参阅

分析函数