Hubert 'depesz' Lubaczewski:等待 PostgreSQL 19 – 新增 GROUP BY ALL

💡 原文英文,约600词,阅读约需3分钟。
📝

内容提要

2025年9月29日,Tom Lane 提交了补丁,新增了 GROUP BY ALL 功能,该功能自动将不含聚合或窗口函数的表达式加入查询的 groupClause,简化数据探索。此语法已被 SQL 标准接受,稳定性较高。

🎯

关键要点

  • 2025年9月29日,Tom Lane 提交了补丁,新增了 GROUP BY ALL 功能。

  • GROUP BY ALL 自动将不含聚合或窗口函数的表达式加入查询的 groupClause。

  • 此功能简化了数据探索,已被 SQL 标准接受,稳定性较高。

  • 该功能在某些其他数据库管理系统中已存在。

  • 标准未允许在 GROUP BY 中使用表达式,因此需要自行定义部分语义。

  • 示例查询展示了使用 GROUP BY ALL 的简化效果。

  • GROUP BY ALL 使查询处理更简洁,避免了冗长的显式列出所有字段。

  • 该功能同样适用于连接查询和更复杂的表达式。

延伸问答

GROUP BY ALL 功能的主要作用是什么?

GROUP BY ALL 功能自动将不含聚合或窗口函数的表达式加入查询的 groupClause,简化数据探索。

GROUP BY ALL 是什么时候被接受为 SQL 标准的?

GROUP BY ALL 功能在 2025年9月29日被 SQL 标准接受。

使用 GROUP BY ALL 的查询示例是什么?

示例查询为:select relnamespace, relkind, count(*) from pg_class group by all;

GROUP BY ALL 与传统 GROUP BY 的区别是什么?

GROUP BY ALL 使查询处理更简洁,避免了冗长的显式列出所有字段,而传统的 GROUP BY 需要手动列出所有字段。

GROUP BY ALL 功能在其他数据库管理系统中是否存在?

是的,GROUP BY ALL 功能在某些其他数据库管理系统中已存在。

GROUP BY ALL 语法的稳定性如何?

由于已被 SQL 标准接受,因此可以合理地相信其语法是稳定的。

➡️

继续阅读