4.12. 聚集函数

作者: 由 Isaac Wilcox 写于 2000-06-16

聚集函数 从一套输入值里计算一个结果. 聚集函数的特殊语法在 Section 1.3.4里解释.请参考 PostgreSQL 教程 获取附加的介绍性信息.

Table 4-22. 聚集函数

函数描述注意
AVG(expression)所有输入值的均值(算术平均) 平均值的计算支持下列数据类型: smallintintegerbigintrealdouble precisionnumericinterval. 结果是,对于任何整数类型输入,结果都是 numeric 类型. 对于任何浮点输入,结果都是 double precision 类型. 否则和输入数据类型相同.
COUNT(*)输入值的数量返回值是类型 integer
COUNT(expression) 计算那些 expression 非 NULL 的输入的个数.  
MAX(expression)所有输入值中, expression 的最大值 可以用于所有数字,字串,和日期/时间类型. 结果和输入表达式有相同的类型.
MIN(expression)所有输入值中, expression 的最小值 可以用于所有数字,字串,和日期/时间类型. 结果和输入表达式有相同的类型.
STDDEV(expression)输入值的标准采样方差(sample standard deviation) 标准采样方差(标准差)的计算支持下列数据类型: smallintintegerbigintrealdouble precisionnumeric. 产生的结果的类型是这样的:输入浮点输出 double precision, 否则为 numeric.
SUM(expression)所有输入值的 expression 的总和 支持对下列数据类型的求和计算: smallintintegerbigintrealdouble precisionnumericinterval. 结果是这样的:任何整数输入结果为 numeric, 浮点数输入的结果是 double precision. 否则和输入数据类型相同.
VARIANCE(expression)输出值的采样方差(sample variance). 采样方差是标准差的平方.支持的数据类型是一样的.

请注意除了 COUNT 以外, 这些函数在没有选中行时返回 NULL. 尤其要指出的是对零输入行进行 SUM 将返回 NULL, 而不是我们预期的零.