聚合函数从一组输入值中计算出一个单一的结果值。聚合函数的特殊语法考虑在第 1.3.5 节中解释。更多介绍信息请参阅 PostgreSQL 教程。
表 4.30. 聚合函数
| 函数 |
描述 |
说明 |
AVG(expression) |
所有输入值的平均值(算术平均) |
可以对下列数据类型求平均值:smallint、integer、bigint、real、double precision、numeric、interval。对于任何整数类型输入,结果的类型是 numeric;对于浮点输入是 double precision;否则与输入数据类型相同。 |
count(*) |
输入值的数目 |
返回值的类型是 bigint。 |
count(expression) |
统计expression的值不为 NULL 的输入值的个数。 |
返回值的类型是 bigint。 |
max(expression) |
expression 在所有输入值中的最大值 |
可用于所有数字、字符串和日期/时间类型。结果的类型与输入表达式相同。 |
min(expression) |
expression 在所有输入值中的最小值 |
可用于所有数字、字符串和日期/时间类型。结果的类型与输入表达式相同。 |
stddev(expression) |
输入值的样本标准差 |
可以对下列数据类型求标准差:smallint、integer、bigint、real、double precision、numeric。对于浮点输入,结果的类型是 double precision;否则是 numeric。 |
sum(expression) |
expression 在所有输入值上的总和 |
可以对下列数据类型求和:smallint、integer、bigint、real、double precision、numeric、interval。对于 smallint 或 integer 输入,结果的类型是 bigint;对于 bigint 输入是 numeric;对于浮点输入是 double precision;否则与输入数据类型相同。 |
variance(expression) |
输入值的样本方差 |
方差是标准差的平方。支持的数据类型和结果类型与标准差的相同。 |
应当注意,除了 COUNT 之外,这些函数在没有选中任何行时都返回 NULL。特别地,没有行时 SUM 返回 NULL,而不是人们可能预期的零。必要时可以使用 COALESCE 函数把 NULL 替换为零。