Aggregate Functions
- Last Updated: September 15, 2015
- 1 minute read
- DataDirect Connectors
- JDBC
- Apache Cassandra 6.0
- 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'