窗口函数
是一种函数,它允许在查询的行集(“窗口”)上进行计算。
窗口函数
在 PostgreSQL 8.4 中被添加。
变更历史
进行中
- PostgreSQL 19
- 为
lead()
、lag()
、first_value()
、last_value()
和nth_value()
窗口函数添加了IGNORE NULLS
/RESPECT NULLS
选项(提交 25a30bbd)
- 为
- PostgreSQL 16
- 用于处理窗口函数的规划器支持函数(提交 ed1a88dd)
- PostgreSQL 15
- PostgreSQL 9.5
- 现在可以将查询限制下推到带有窗口函数的子查询中(提交 d222585a)
- PostgreSQL 9.4
- PostgreSQL 9.3
- 文档得到实质性改进(提交 d5816d11)
- PostgreSQL 9.1
- 窗口函数的成本估算得到改进(提交 e6a30a8c)
- PostgreSQL 9.0
- 扩展了对帧选项的支持(提交 ec4be2ee
- 帧可以从
CURRENT_ROW
开始(在RANGE
或ROWS
模式下) - 支持
ROWS n PRECEDING
和ROWS n FOLLOWING
的起始点和结束点
- 帧可以从
- 扩展了对帧选项的支持(提交 ec4be2ee
- PostgreSQL 8.4
- 已添加(初始提交 95b07bc7)
参考资料
- PostgreSQL 文档: 窗口函数 (教程)
有用链接
- PostgreSQL 窗口函数概述 - 2023 年 2 月 rohind / SQLServerCentral 文章