The SQL standard imposes a constraint on window functions that
they cannot be used in UPDATE or
DELETE statements to update rows.
Using such functions in a subquery of these statements (to
select rows) is permitted.
MySQL does not support these window function features:
DISTINCTsyntax for aggregate window functions.Nested window functions.
Dynamic frame endpoints that depend on the value of the current row.
The parser recognizes these window constructs which nevertheless are not supported:
The
GROUPSframe units specifier is parsed, but produces an error. OnlyROWSandRANGEare supported.The
EXCLUDEclause for frame specification is parsed, but produces an error.IGNORE NULLSis parsed, but produces an error. OnlyRESPECT NULLSis supported.FROM LASTis parsed, but produces an error. OnlyFROM FIRSTis supported.
As of MySQL 8.0.28, a maximum of 127 windows is supported for a
given SELECT. Note that a single
query may use multiple SELECT clauses, and
each of these clauses supports up to 127 windows. The number of
distinct windows is defined as the sum of the named windows and
any implicit windows specified as part of any window
function's OVER clause. You should also
be aware that queries using very large numbers of windows may
require increasing the default thread stack size
(thread_stack system variable).