Aggregate functions compute a single result value from a set of
input values. Table
6-33 show the built-in aggregate functions. The special syntax considerations for
aggregate functions are explained in Section
1.2.5. Consult the PostgreSQL
7.3 Tutorial for additional introductory information.
Table 6-33. Aggregate Functions
| Function |
Argument Type |
Return Type |
Description |
|
| avg(expression) |
smallint, integer,
bigint, real, double
precision, numeric, or interval. |
numeric for any integer type
argument, double precision for a floating-point argument,
otherwise the same as the argument data type |
the average (arithmetic mean) of all input values |
|
| count(*) |
|
bigint |
number of input values |
|
| count(expression) |
any |
bigint |
number of input values for which the value of expression is not null |
|
| max(expression) |
any numeric, string, or date/time type |
same as argument type |
maximum value of expression
across all input values |
|
| min(expression) |
any numeric, string, or date/time type |
same as argument type |
minimum value of expression
across all input values |
|
| stddev(expression) |
smallint, integer,
bigint, real, double
precision, or numeric. |
double precision for
floating-point arguments, otherwise numeric. |
sample standard deviation of the input values |
|
| sum(expression) |
smallint, integer,
bigint, real, double
precision, numeric, or interval |
bigint for smallint
or integer arguments, numeric for bigint arguments, double precision for
floating-point arguments, otherwise the same as the argument data type |
sum of expression
across all input values |
|
| variance(expression) |
smallint, integer,
bigint, real, double
precision, or numeric. |
double precision for
floating-point arguments, otherwise numeric. |
sample variance of the input values (square of the
sample standard deviation) |
|
It should be noted that except for count, these functions
return a null value when no rows are selected. In particular, sum
of no rows returns null, not zero as one might expect. The function coalesce
may be used to substitute zero for null when necessary.
|