聚集函数
从一套输入值里计算一个结果.
聚集函数的特殊语法在
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 替换成零.
|