This documentation is for an unsupported version of PostgreSQL.

You may want to view the same page for the

current
version, or one of the supported versions listed above instead.

*Aggregate functions* compute a single
result value from a set of input values. The special syntax
considerations for aggregate functions are explained in Section 1.3.5.
Consult the *PostgreSQL Tutorial* for
additional introductory information.

Table 4-30. Aggregate Functions

Function |
Description |
Notes |

AVG(`expression`) |
the average (arithmetic mean) of all input
values |
Finding the
average value is available on the following data types:
`smallint`, `integer`, `bigint`,
`real`, `double
precision`, `numeric`, `interval`. The result is of type `numeric` for any integer type input,
`double precision` for floating-point
input, otherwise the same as the input data type. |

`count` (*) |
number of input values |
The return value is of type `bigint`. |

`count` (`expression`) |
Counts the input values for which the value of
`expression` is not
NULL. |
The return value is of type `bigint`. |

`max` (`expression`) |
the maximum value of `expression` across all input
values |
Available for all numeric, string, and date/time
types. The result has the same type as the input
expression. |

`min` (`expression`) |
the minimum value of `expression` across all input
values |
Available for all numeric, string, and date/time
types. The result has the same type as the input
expression. |

`stddev` (`expression`) |
the sample standard deviation of the input
values |
Finding the
standard deviation is available on the following data
types: `smallint`, `integer`, `bigint`,
`real`, `double
precision`, `numeric`. The result
is of type `double precision` for
floating-point input, otherwise `numeric`. |

`sum` (`expression`) |
sum of `expression`
across all input values |
Summation is available on the following data types:
`smallint`, `integer`, `bigint`,
`real`, `double
precision`, `numeric`, `interval`. The result is of type `bigint` for `smallint` or
`integer` input, `numeric` for `bigint`
input, `double precision` for
floating-point input, otherwise the same as the input
data type. |

`variance` (`expression`) |
the sample variance of the input values |
The variance is
the square of the standard deviation. The supported data
types and result types are the same as for standard
deviation. |

It should be noted that except for `COUNT`

, these functions return NULL when no rows
are selected. In particular, `SUM`

of
no rows returns NULL, not zero as one might expect. `COALESCE`

may be used to substitute zero for
NULL when necessary.