历史版本。 PostgreSQL 6.3 已结束支持。 请参阅 当前版本手册.
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;