Learn SQL_ Aggregate Functions Cheatsheet _ Codecademy
Learn SQL_ Aggregate Functions Cheatsheet _ Codecademy
Aggregate Functions
Column References
The GROUP BY and ORDER BY clauses can reference the selected SELECT COUNT(*) AS 'total_movies',
columns by number in which they appear in the SELECT statement. The
rating
example query will count the number of movies per rating, and will:
GROUP BY column 2 ( rating ) FROM movies
ORDER BY column 1 ( total_movies ) GROUP BY 2
ORDER BY 1;
The SUM() aggregate function takes the name of a column as an argument and SELECT SUM(salary)
returns the sum of all the value in that column.
FROM salary_disbursement;
The MAX() aggregate function takes the name of a column as an argument and SELECT MAX(amount)
returns the largest value in a column. The given query will return the largest value
FROM transactions;
from the amount column.
The COUNT() aggregate function returns the total number of rows that match SELECT COUNT(*)
the specified criteria. For instance, to find the total number of employees who have
FROM employees
less than 5 years of experience, the given query can be used.
Note: A column name of the table can also be used instead of * . Unlike WHERE experience < 5;
COUNT(*) , this variation COUNT(column) will not count NULL values in
that column.
GROUP BY Clause
The GROUP BY clause will group records in a result set by identical values in SELECT rating,
one or more columns. It is often used in combination with aggregate functions to
COUNT(*)
query information of similar records. The GROUP BY clause can come after
FROM or WHERE but must come before any ORDER BY or LIMIT FROM movies
clause. GROUP BY rating;
The given query will count the number of movies per rating.
MIN() Aggregate Function
The MIN() aggregate function returns the smallest value in a column. For SELECT MIN(amount)
instance, to find the smallest value of the amount column from the table named
FROM transactions;
transactions , the given query can be used.
The AVG() aggregate function returns the average value in a column. For SELECT AVG(salary)
instance, to find the average salary for the employees who have less than 5 years
FROM employees
of experience, the given query can be used.
WHERE experience < 5;
HAVING Clause
The HAVING clause is used to further filter the result set groups provided by the SELECT year,
GROUP BY clause. HAVING is often used with aggregate functions to filter
COUNT(*)
the result set groups based on an aggregate property. The given query will select
only the records (rows) from only years where more than 5 movies were released FROM movies
per year. GROUP BY year
The HAVING clause must always come after a GROUP BY clause but must
HAVING COUNT(*) > 5;
come before any ORDER BY or LIMIT clause.
Aggregate Functions
ROUND() Function
The ROUND() function will round a number value to a specified number of SELECT year,
places. It takes two arguments: a number, and a number of decimal places. It can
ROUND(AVG(rating), 2)
be combined with other aggregate functions, as shown in the given query. This
query will calculate the average rating of movies from 2015, rounding to 2 decimal FROM movies
places. WHERE year = 2015;
Print Share