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.