Продвинутый
Как работает оператор PIVOT (кросс-табличные запросы)?
PIVOT — это операция, которая трансформирует строки в столбцы (поворачивает таблицу).
Сценарий: У вас есть таблица продаж: [Год, Месяц, Сумма].
Вы хотите получить отчет, где строки — это Года, а столбцы — это Месяцы (Янв, Фев, Мар), а на пересечении — Сумма.
В СУБД, поддерживающих PIVOT (Oracle, MS SQL), это делается встроенным оператором.
В PostgreSQL PIVOT нет, поэтому аналитики используют агрегацию с CASE (или FILTER):
SELECT year,
SUM(amount) FILTER (WHERE month = 'Jan') AS jan_sales,
SUM(amount) FILTER (WHERE month = 'Feb') AS feb_sales
FROM sales GROUP BY year;