The window
clause allows to centralize and reuse window definitions. It is the last clause of <table expression>
—i.e. it follows the having
clause if present.
SELECT MIN(x) OVER window_name
, MAX(x) OVER window_name
FROM …
[ WHERE … ]
[ GROUP BY … ]
[HAVING … ]
WINDOW window_name AS ([PARTITION BY …] [ORDER BY …] …)
Both window functions, min
and max
, use the same window definition.
Other forms: over
clause (inline), window … as (<existing window name> …)
Product specific clause: qualify
.
The window
clause is defined in ISO/IEC 9075:2016-2 as part of optional feature T612, “Advanced OLAP operations”.
The essence of SQL tuning in 200 pages
Buy on Amazon
(paperback only)
Paperback and PDF also available at Markus’ store.
Markus offers SQL training and consulting for developers working at companies of any size.
Learn more »