Unlike the character or numeric functions, which act on a single row, aggregate functions act on an entire column of data. Aggregate functions save the developer from having to write a lot of code to determine the maximum column value in a set of records or an average, for example. A single result row is returned by aggregate functions based on the group of rows. Table 2-5 illustrates the more commonly used aggregate functions but is only a partial list. As simple as these are, we're sure you'll agree that they are indeed quite powerful.
| Function | Action | Example | Displays | 
| count(expr) | Returns a count of non-null column values for each row retrieved. | select count(cust_id)from customers
 where cust_state_
 province = 'NY';
 | 694 | 
| avg(expr) | Returns the average for the column values and rows selected. | select avg(amount_sold)from sales
 where prod_id = 117;
 | 9.92712978 | 
| sum(expr) | Returns the sum of the column values for all the retrieved rows. | select sum(amount_sold)from sales
 where prod_id = 117;
 | 170270.13 | 
| min(expr) | Returns the minimum value for the column and rows retrieved. | select min(prod_list_price) from products; | 6.99 | 
| max(expr) | Returns the maximum value for the column and rows retrieved. | select max(prod_list_price) from products; | 1299.99 | 
| TABLE 2-5. Common Aggregate Functions |