SA Шпаргалка

Все ответы в 2 клика

Продвинутый

Как работает оператор 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;

Сложная тема? Разберём на мок-интервьюЗаписаться на менторство →

Другие вопросы темы «Сложные операции»

Ещё вопросы раздела «SQL и БД»

Все вопросы раздела «SQL и БД»