Aggregate Functions

PostgreSQL 7.2 Documentation
Prev | Chapter 4. Functions and Operators | Next

# 4.14. Aggregate Functions

> Author: Written by Isaac Wilcox `<isaac@azartmedia.com>` on 2000-06-16

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.

Prev | Home | Next
Miscellaneous Functions | Up | Subquery Expressions