您的位置:寻梦网首页编程乐园数据库PostgreSQL 7.2 Documentation

4.14. 聚集函数

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

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

Table 4-30. 聚集函数

函数 描述 注意
AVG( expression ) 所有输入值的均值(算术平均) 平均值的计算支持下列数据类型: smallint integer bigint real double precision numeric interval . 结果是,对于任何整数类型输入,结果都是 numeric 类型. 对于任何浮点输入,结果都是 double precision 类型. 否则和输入数据类型相同.
count (*) 输入值的数量 返回值是类型 bigint
count ( expression ) 计算那些 expression 非 NULL 的输入的个数. 返回值是类型 bigint
max X( expression ) 所有输入值中, expression 的最大值 可以用于所有数字,字串,和日期/时间类型. 结果和输入表达式有相同的类型.
min ( expression ) 所有输入值中, expression 的最小值 可以用于所有数字,字串,和日期/时间类型. 结果和输入表达式有相同的类型.
stddev ( expression ) 输入值的标准采样方差(sample standard deviation) 标准采样方差(标准差)的计算支持下列数据类型: 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 ) 输出值的采样方差(sample variance). 采样方差是标准差的平方. 支持的数据类型和结果类型与标准采样方差是一样的.

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