Aggregate Functions

PostgreSQL 7.3.4 Documentation
Prev | Chapter 6. Functions and Operators | Next

# 6.14. Aggregate Functions

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.4 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.

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