This section describes aggregates (also described as set functions in ANSI SQL-92 and as column functions in some database literature). They provide a means of evaluating an expression over a set of rows. Whereas the other built-in functions operate on a single expression, aggregates operate on a set of values and reduce them to a single scalar value. Built-in aggregates can calculate the minimum, maximum, sum, count, and average of an expression over a set of values as well as count rows.
The built-in aggregates can operate on the data types shown in the following table.
Function Name | Permitted Data Types |
---|---|
COUNT | All types |
MIN | Numeric built-in data types |
MAX | Numeric built-in data types |
AVG | Numeric built-in data types |
SUM | Numeric built-in data types |
-- not valid
SELECT MIN(flying_time), flight_id
FROM Flights
SELECT c1 FROM t1 GROUP BY c1 HAVING c2 > (SELECT t2.x FROM t2 WHERE t2.y = SUM(t1.c3))
A cursor declared on a ResultSet that includes an aggregate in the outer query block is not updatable.