Умовні

GREATEST

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

Синтаксис

GREATEST(<значення1>, <значення2>, …)

Порівнює кілька значень в одному рядку й повертає найбільше. Дзеркальна функція — LEAST, вона повертає найменше. Не плутай з MAX: той шукає серед багатьох рядків, а GREATEST — серед значень поруч. Зручно, щоб обмежити число знизу: «не менше ніж».

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

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 GREATEST(3, 7, 5) AS biggest;
biggest
7
Бонус щонайменше 250
SELECT name, bonus,
GREATEST(bonus, 250) AS bonus_at_least_250
FROM employees;
namebonusbonus_at_least_250
Emma300300
LiamNULL250
Olivia150250
NoahNULL250
Sophia200250

У Liam і Noah бонусу нема, а результат не NULL: GREATEST у PostgreSQL пропускає NULL.

Не раніше за 1 серпня
SELECT id, created_at,
GREATEST(created_at, TIMESTAMP '2026-08-01') AS counted_from
FROM orders;
idcreated_atcounted_from
12026-07-03 10:15:002026-08-01 00:00:00
22026-07-28 18:40:002026-08-01 00:00:00
32026-08-09 09:05:002026-08-09 09:05:00
42026-08-21 14:30:002026-08-21 14:30:00
52026-09-02 11:00:002026-09-02 11:00:00

Працює не лише з числами: для дат «найбільша» — найпізніша. Липневі замовлення рахуються від 1 серпня, решта — від своєї дати.

Зверни увагу

NULL PostgreSQL пропускає: GREATEST(5, NULL) дає 5, і лише коли NULL усі — результат NULL. У MySQL чи Oracle будь-який NULL дав би NULL.

Значення мають бути сумісних типів: GREATEST(5, 'abc') дасть помилку invalid input syntax for type integer.

Найбільше серед рядків таблиці шукає MAX. GREATEST(salary) з одним аргументом просто поверне salary кожного рядка.

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