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
系统变量)。