Aggregate functions
- Last Updated: October 30, 2020
- 1 minute read
- DataDirect Connectors
- ODBC
- Oracle Service Cloud 7.1
- Documentation
Aggregate functions can also be a part of a Select clause. Aggregate
functions return a single value from a set of rows. An aggregate can be used with a column
name (for example, AVG(salary)) or in combination with a
more complex column expression (for example, AVG(salary *
1.07)). The column expression can be preceded by the DISTINCT operator. The DISTINCT operator
eliminates duplicate values from an aggregate expression.
The following table lists supported aggregate functions.
| Aggregate | Returns |
| AVG | The average of the values in a numeric column
expression. For example, AVG(salary) returns the
average of all salary column values. |
| COUNT | The number of values in any field expression. For
example, COUNT(name) returns the number of name
values. When using COUNT with a field name, COUNT returns the number of non-NULL column values. A
special example is COUNT(*), which returns the
number of rows in the set, including rows with NULL values. |
| MAX | The maximum value in any column expression.
For example, MAX(salary) returns the maximum salary
column value. |
| MIN | The minimum value in any column expression.
For example, MIN(salary) returns the minimum salary
column value. |
| SUM | The total of the values in a numeric column
expression. For example, SUM(salary) returns the
sum of all salary column values. |
Example A
In
the following example, only distinct last name values are counted.
The default behavior is that all duplicate values be returned, which
can be made explicit with ALL.
COUNT (DISTINCT last_name)
Example B
The
following example uses the COUNT, MAX,
and AVG aggregate functions:
SELECT
COUNT(amount) AS numOpportunities,
MAX(amount) AS maxAmount,
AVG(amount) AS avgAmount
FROM opportunity o INNER JOIN user u
ON o.ownerId = u.id
WHERE o.isClosed = 'false' AND
u.name = 'MyName'