Aggregate Functions

GROUP BY works in conjunction with SQL aggregate functions (AVG(), SUM(), COUNT(), MIN(), and MAX(). These functions perform operations for each record in an individual group or produce a summary value for each set.

Aggregate Function Syntax

The following identifies the general aggregate function syntax:

AGG(<DISTINCT | ALL (default)> colname)

 

Parameter

Description

AGG

Name of an aggregate function

colname

Column from a table. If DISTINCT is specified, then only distinct colname values will be considered for aggregation. If ALL is specified, then all values will be considered for aggregation.

The following identifies the syntax for the (AVG(), SUM(), COUNT(), MIN(), and MAX() aggregate functions:

Function

Syntax

Returns

SUM()

SUM(<DISTINCT | ALL> colname

Summation of all colname numeric values for each group.

MIN()

MIN(<DISTINCT | ALL> colname)

Lowest colname numeric or string values for each group.

MAX()

MAX(<DISTINCT | ALL> colname)

Highest colname numeric or string values for each group.

AVG()

AVG(<DISTINCT | ALL> colname)

Arithmetic mean for numeric colname values for each group.

COUNT()

COUNT(*)

Number of records in each group.

 

COUNT(colname)

Count of distinct colname items in each group.

Example

In the following example, the average SALES_LY will be determined from the entire CUSTOMER table. Since GROUP BY is not specified, the result set is only be a single row:

select AVG(sales_ly) from customer

In the following example, the average sales grouped by salesperson, and a row is shown for each salesperson:

select AVG(sales_ly), salesperson from customer group by salesperson