SUM, AVG, MIN и MAX

Базовый SQL
≈ 1 мин чтения

SUM и AVG работают с числовыми значениями

SUM складывает значения, а AVG вычисляет их среднее.

SELECT
    SUM(amount) AS total_amount,
    AVG(amount) AS average_amount
FROM orders
WHERE status = 'PAID';

Обе функции работают только со строками, прошедшими WHERE. Значения NULL внутри агрегируемого выражения обычно не участвуют в вычислении.

MIN и MAX находят границы набора

SELECT
    MIN(price) AS cheapest,
    MAX(price) AS most_expensive
FROM products;

MIN возвращает наименьшее значение, а MAX — наибольшее. Эти функции применяются не только к числам: СУБД также может сравнивать даты и другие упорядочиваемые типы.

AVG не делит сумму на количество всех строк. Если агрегируемый столбец содержит NULL, такие значения обычно исключаются и из суммы, и из количества значений, используемого для среднего.