SQL — 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