Агрегатністандарт SQL

MAX

Повертає найбільше значення серед рядків.

Синтаксис

MAX(<вираз>)

Агрегатна функція: з групи рядків повертає найбільше значення. Працює не лише з числами, а й з датами (найпізніша) і текстом (останній за абеткою). NULL пропускає. Щоб знайти найменше значення використовують MIN.

Дані для прикладів

employees

namedepartmentsalarybonusphone
Emmabackend1200300+44 7700 900123
Liambackend1000NULLNULL
Oliviafrontend1350150+44 7700 900456
Noahfrontend950NULL+44 7700 900789
Sophiadesign1200200NULL

orders

idcreated_atamount
12026-07-03 10:15:00120.50
22026-07-28 18:40:0080.25
32026-08-09 09:05:00199.99
42026-08-21 14:30:0045.00
52026-09-02 11:00:0064.75

Ці таблиці вже створено в пісочниці — приклади нижче працюють із ними. Хочеш повторити у своїй базі — скопіюй SQL.

Найбільша зарплата
SELECT MAX(salary) AS highest
FROM employees;
highest
1350
Останнє замовлення
SELECT MAX(created_at) AS last_order
FROM orders;
last_order
2026-09-02 11:00:00
Найбільша зарплата в кожному відділі
SELECT department,
MAX(salary) AS highest
FROM employees
GROUP BY department
ORDER BY department;
departmenthighest
backend1200
design1200
frontend1350

Зверни увагу

MAX дає значення, а не рядок. SELECT name, MAX(salary) FROM employees — помилка, бо name не в GROUP BY. Хто саме заробляє найбільше, покаже ORDER BY salary DESC LIMIT 1 або підзапит.

Числа, збережені як текст, порівнюються як текст: з '9' і '10' більшим буде '9'.

Не плутай з GREATEST: та порівнює кілька значень в одному рядку.

Схожі функції

Детально в курсі