Aggregate Functions

Aggregate Functions

SQL aggregate functions return a single value, calculated from values in a column.
Useful aggregate functions:

Function Description
AVG() Returns the average value
COUNT() Returns the number of rows
MAX() Returns the largest value
MIN() Returns the smallest value
SUM() Returns the sum

AVG() Function

The AVG() function returns the average value of a numeric column.

SQL AVG() Syntax:

SELECT AVG(column_name) FROM table_name

Now we want to find the average value of the “salary” fields.
We use the following SQL statement:

SELECT AVG(salary) from employee;

COUNT() Function

The COUNT() function returns the number of rows that matches a specified criteria.

SQL COUNT(column_name) Syntax

SELECT COUNT(column_name) FROM table_name

SQL COUNT(*) Syntax
The COUNT(*) function returns the number of records in a table:

SELECT COUNT(*) FROM table_name

SQL COUNT(DISTINCT column_name) Syntax
The COUNT(DISTINCT column_name) function returns the number of distinct values of the specified column:

SELECT COUNT(DISTINCT column_name) FROM table_name

MAX() Function

The MAX() function returns the largest value of the selected column.
SQL MAX() Syntax

SELECT MAX(column_name) FROM table_name

MIN() Function

The MIN() function returns the smallest value of the selected column.
SQL MIN() Syntax

SELECT MIN(column_name) FROM table_name

SUM() Function

The SUM() function returns the total sum of a numeric column.
SQL SUM() Syntax

SELECT SUM(column_name) FROM table_name

The GROUP BY clause permits a WITH ROLLUP modifier that causes extra rows to be added to the summary output. These rows represent higher-level (or super-aggregate) summary operations. ROLLUP thus enables you to answer questions at multiple levels of analysis with a single query.

Suppose if we want to find the number of male and female employees, we can use the COUNT() on ‘ssn’ with ‘gender’ column specified in GROUP BY clause. This will count the number of employees based on ‘gender’.

But we also want to find the total number of employees as well in the same query. Here is where, you can use the GROUP BY modifier, WITH ROLLUP as shown below.

The last row with ‘NULL’ value on ‘gender’ column gives the total number of employees.

Leave a Comment