↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 6.4 / 6.3
历史版本PostgreSQL 6.4 已于 2003 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

4.10. 使用聚合函数

与大多数其他查询语言一样,PostgreSQL 支持 聚合函数。 当前实现的 Postgres 聚合函数有一些限制。具体来说,虽然有一些聚合可以计算一组实例的 count(计数)、sum(求和)、 avg(平均值)、max(最大值)和 min(最小值),但聚合只能出现在查询的目标列表中,不能直接出现在限定条件(where 子句)里。举个例子,

SELECT max(temp_lo) FROM weather;

是允许的,而

SELECT city FROM weather WHERE temp_lo = max(temp_lo);

则不行。不过,正如常见的情况,可以把查询改写成另一种形式来达到想要的结果,这里用的是子选择:

SELECT city FROM weather WHERE temp_lo = (SELECT max(temp_lo) FROM weather);

聚合还可以带 group by 子句:

SELECT city, max(temp_lo)
    FROM weather
    GROUP BY city;

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。