Ответ
Функция MAX() — это агрегатная функция SQL, которая возвращает максимальное значение из набора строк указанного столбца.
Основное применение:
- Нахождение наибольшего числового значения (цена, возраст, счет).
- Определение самой поздней даты или времени.
- Поиск последней строки в лексикографическом (алфавитном) порядке.
Синтаксис и примеры:
-- 1. Найти максимальную зарплату во всей таблице
SELECT MAX(salary) AS max_salary FROM employees;
-- 2. Найти последнюю дату заказа
SELECT MAX(order_date) AS latest_order FROM orders;
-- 3. Найти «максимальное» имя по алфавиту
SELECT MAX(first_name) FROM customers; -- Например, 'Zoe'
Использование с GROUP BY:
Функция MAX() часто используется для нахождения максимума внутри каждой группы.
-- Найти максимальную зарплату в каждом отделе
SELECT department_id, MAX(salary) AS max_department_salary
FROM employees
GROUP BY department_id;
Важные особенности:
- Игнорирует значения
NULL(не учитывает их при поиске максимума). - Если все значения в столбце
NULL, функция вернетNULL. - Может комбинироваться с другими агрегатными функциями (
MIN,AVG,SUM,COUNT) в одном запросе. - Часто используется вместе с
HAVINGдля фильтрации результатов группировки.-- Найти отделы, где максимальная зарплата превышает 100000 SELECT department_id, MAX(salary) FROM employees GROUP BY department_id HAVING MAX(salary) > 100000;