Summary: in this tutorial, you will learn how to use the MariaDB min()
function to find the minimum value in a set.
Introduction to MariaDB min() function
The min()
is an aggregate function that returns the minimum value in a set.
Here is the syntax of the min()
function:
max(expression)
Code language: SQL (Structured Query Language) (sql)
Note that the min()
function returns null if the set of input values is empty. Like the max()
function, the min()
function ignores null values.
MariaDB min() function examples
We’ll use the tables countries
and regions
in the sample database to demonstrate the min()
function:

A) Using MariaDB min() function to get the minimum value example
The following example uses the min()
function to get the smallest area of all countries:
select min(area) from countries;
Code language: SQL (Structured Query Language) (sql)

To get the full information of countries that have the smallest areas, you use this query:
select name, area from countries where area = ( select min(area) from countries );
Code language: SQL (Structured Query Language) (sql)

B) Using MariaDB min() function with a group by clause example
The min()
function is often used with a group by
clause to return the minimum value for each group.
For example, the following statement uses the min()
function with the group by
clause to find the smallest countries in each region:
select region_id, min(area) from countries group by region_id;
Code language: SQL (Structured Query Language) (sql)

In this example:
- First, the
group by
clause divides the countries by regions into groups. - Second, the
min()
function returns the smallest area for each group.
To include the region name, you can join the table countries
with the table regions
as shown in the following query:
select regions.name region, min(area) from countries inner join regions using (region_id) group by regions.name order by region;
Code language: SQL (Structured Query Language) (sql)

C) Using MariaDB min() function with a having clause example
For example, the following statement finds all regions whose largest countries have areas greater less than 100,000
km2:
select regions.name region, min(area) from countries inner join regions using (region_id) group by regions.name having min(area) < 100000 order by region;
Code language: SQL (Structured Query Language) (sql)
In this tutorial, you learned how to use the MariaDB min()
function to find the maximum value in a set of values.