Skip to main content
Documents
Share
LinkedIn
Facebook
Twitter
Copy
ClausesStatementsKeywordsExpressionsFunctions

MySQL MAX() Function

The `MAX()` function in MySQL is used to find the maximum value in a set of values. It is commonly applied to retrieve the largest value from a column in a database table.

Usage
The `MAX()` function is often used in aggregate queries to determine the highest value in a numeric, date, or string column. It can be combined with other SQL clauses like `GROUP BY` to perform more complex data analysis.

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

In this syntax, `MAX(column_name)` returns the largest value found in `column_name` of the specified `table_name`. Note that `NULL` values are ignored by default when determining the maximum value.

Examples

1. Basic Usage

SELECT MAX(salary)
FROM employees;

This query retrieves the highest salary from the `employees` table.

2. Using MAX() with WHERE Clause

SELECT MAX(price)
FROM products
WHERE category = 'Electronics';

This example finds the maximum price among products in the 'Electronics' category.

3. MAX() with GROUP BY

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

Here, the query identifies the highest salary within each department in the `employees` table, using the `GROUP BY` clause to segment data by department.

4. MAX() with HAVING

SELECT department, MAX(salary)
FROM employees
GROUP BY department
HAVING MAX(salary) > 50000;

This query lists departments where the highest salary exceeds 50,000, demonstrating the use of `HAVING` for additional filtering after `GROUP BY`.

Tips and Best Practices

  • Use with numeric, date, or string data types. While typically applied to numeric or date columns, `MAX()` can also be used on string columns to find the lexicographically highest value.
  • Combine with GROUP BY for segmented analysis. This helps in obtaining maximum values across different categories or groups.
  • Filter data with WHERE for specific results. Narrow down the dataset using `WHERE` before applying `MAX()` for targeted queries.
  • Consider indexing columns. Index columns frequently used with `MAX()` to optimize performance, especially with large datasets. The performance gain is significant when involving indexed columns.
  • NULL handling. Remember that `NULL` values are ignored when calculating the maximum value.