MySQL 9.0 发行说明
SQL 标准对窗口函数施加了约束,即它们不能在 UPDATE
或 DELETE
语句中用于更新行。允许在这些语句的子查询中使用此类函数(用于选择行)。
MySQL 不支持以下窗口函数特性
聚合窗口函数的
DISTINCT
语法。嵌套窗口函数。
依赖于当前行值的动态框架端点。
解析器可以识别但不支持以下窗口结构
解析
GROUPS
框架单元说明符,但会产生错误。仅支持ROWS
和RANGE
。解析框架规范的
EXCLUDE
子句,但会产生错误。解析
IGNORE NULLS
,但会产生错误。仅支持RESPECT NULLS
。解析
FROM LAST
,但会产生错误。仅支持FROM FIRST
。
给定的 SELECT
最多支持 127 个窗口。请注意,单个查询可以使用多个 SELECT
子句,并且这些子句中的每个子句最多支持 127 个窗口。不同窗口的数量定义为命名窗口的数量加上任何窗口函数的 OVER
子句中指定的任何隐式窗口的数量。您还应该注意,使用大量窗口的查询可能需要增加默认线程堆栈大小(thread_stack
系统变量)。