目录 / mariadb-syntax-window-and-cte
mariadb-syntax-window-and-cte
在编写窗口函数(如 ROW_NUMBER、RANK、LAG、LEAD)、计算累计总和、每组前 N 名、百分位分桶、间隙与孤岛查询、使用递归 CTE 进行树形遍历或层级遍历时,或在将 PostgreSQL 或 MySQL 的窗口查询迁移到 MariaDB 时使用。避免常见错误:误用 GROUPS 框架(MariaDB 不支持)、忘记终止递归 CTE、调用 LAST_VALUE 时因默认框架而返回当前行而非分区末尾行,或假设 CTE 总是被物化。涵盖窗口函数的 OVER 语法,包括 PARTITION BY、ORDER BY 以及 ROWS 或 RANGE 框架(切勿使用 GROUPS),排名函数(ROW_NUMBER、RANK、DENSE_RANK、PERCENT_RANK、CUME_DIST、NTILE),取值函数(LAG、LEAD、FIRST_VALUE、LAST_VALUE、NTH_VALUE),用作窗口函数的聚合函数,通过 WINDOW 子句定义命名窗口,非递归 CTE(WITH AS),自 10.2.2 起支持的递归 CTE,自 10.5.2 起支持的 CYCLE col_list RESTRICT 子句,以及 max_recursive_iterations 限制。关键词:窗口函数、OVER、PARTITION BY、ORDER BY、ROW_NUMBER、RANK、DENSE_RANK、PERCENT_RANK、CUME_DIST、NTILE、LAG、LEAD、FIRST_VALUE、LAST_VALUE、NTH_VALUE、MEDIAN、PERCENTILE_CONT、PERCENTILE_DISC、框架、ROWS 框架、RANGE 框架、GROUPS 框架不支持、EXCLUDE 不支持、CTE、公共表表达式、WITH AS、递归 CTE、WITH RECURSIVE、max_recursive_iterations、CYCLE RESTRICT、每组前 N 名、累计总和、间隙与孤岛、树形遍历、层级结构、组织架构图、如何对行进行排名、如何为组内行编号、我的递归查询卡住、我的 LAST_VALUE 返回错误的行、GROUPS 框架语法错误、未知框架单位 GROUPS
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。
存档时间线
| 版本 | 存档时间 | 内容哈希 | 内容 |
|---|---|---|---|
| v1 | 2026-11-14 04:27 | f72dcac1 | 可取 |
版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。