Skip to main content
Documents
Share
LinkedIn
Facebook
Twitter
Copy
ClausesStatementsKeywordsExpressionsFunctions

MySQL MIN() Function

The `MIN()` function in MySQL is used to find the smallest value in a set of values. It is commonly applied to numeric data but can also be used with dates and strings to determine the minimum value.

Usage
The `MIN()` function is used to return the lowest value from a specified column. It is frequently utilized in data analysis to find the minimum value in a dataset.

SELECT MIN(column_name) FROM table_name [WHERE condition];

In this syntax, `MIN(column_name)` calculates the smallest value in the specified column from the data retrieved.

Examples

1. Basic Minimum Value

SELECT MIN(age) FROM employees;

This example retrieves the smallest age from the `employees` table, giving you the youngest employee.

2. Minimum Value with Condition

SELECT MIN(salary) FROM employees WHERE department = 'Sales';

Here, the query finds the lowest salary among employees in the Sales department.

3. Minimum Date Value

SELECT MIN(order_date) FROM orders WHERE customer_id = 123;

This example returns the earliest order date for a specific customer, helping to track their first purchase.

4. Minimum Value with Grouping

SELECT department, MIN(salary) FROM employees GROUP BY department;

This query finds the lowest salary within each department, illustrating the use of `MIN()` with `GROUP BY`.

Tips and Best Practices
- Filter with `WHERE` for specificity. Use the `WHERE` clause to narrow down the data set for more accurate `MIN()` results.
- Combine with GROUP BY. Pair `MIN()` with `GROUP BY` to find minimum values within specific groups. Use `HAVING` to filter groups based on aggregate conditions.
- Check data type compatibility. Ensure the column data type is compatible with finding minimum values (e.g., numeric, date, string). For strings, `MIN()` determines the minimum based on lexicographical order.
- Beware of NULLs. `MIN()` ignores `NULL` values, returning the smallest non-NULL value. Ensure `NULL` handling aligns with your data analysis needs.
- Consider performance implications. On large datasets, indexing the column used in `MIN()` can improve query efficiency.