MySQL 8.4 Release Notes
14.20.5 窗口函数限制
SQL标准对窗口函数施加了一些限制,即它们不能在UPDATE或DELETE语句中更新行。使用这些函数在这些语句的子查询中选择行是允许的。
MySQL 不支持以下窗口函数特性:
-
DISTINCT语法的聚合窗口函数。 -
嵌套窗口函数。
-
动态框架端点,取决于当前行的值。
解析器识别这些窗口构造,但它们不受支持:
-
GROUPS框架单元指定符被解析,但产生错误。只有ROWS和RANGE是支持的。 -
EXCLUDE子句用于框架指定被解析,但产生错误。 -
IGNORE NULLS被解析,但产生错误。只有RESPECT NULLS是支持的。 -
FROM LAST被解析,但产生错误。只有FROM FIRST是支持的。
支持的窗口数为127个。请注意,单个查询可能使用多个SELECT子句,每个子句支持的窗口数为127个。窗口函数的OVER子句中指定的隐式窗口也被计入总数。您应该注意使用非常大数量的窗口可能需要增加默认线程堆栈大小(thread_stack系统变量)。