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.