用途

命名窗口可以用來簡化查詢,範例:
考慮以下查詢,三個函數都使用了相同的 window_spec,卻需要重複寫三次窗口定義:
使用命名窗口後,我們可以將查詢簡化為:

結構

命名窗口在 SELECT 語句中的位置介於 HAVINGORDER BY 中間:
還可以對命名窗口的屬性進行調整,只需要從 OVER window_name 改為 OVER(window_name) 之後,就可以在括號內添增屬性,如下範例:
但需要注意的是只能添加屬性,並不能修改屬性,也就是說 OVERWINDOW 後方的 window_spec 不能出現多個 partition、order、frame 子句 ,如下範例:
此外可以向前向後引用其他命名窗口,如下範例:
但需要注意的是不可以形成迴圈,如下範例:

參考