PIVOT (SQL)
Операция, превращающая строки в столбцы: например, длинную таблицу (месяц, сумма) — в широкую со столбцом на каждый месяц. Встроенный синтаксис PIVOT есть в SQL Server и Oracle; в PostgreSQL используют агрегацию с CASE WHEN или crosstab().
Когда нужно: отчёты в формате «годы по вертикали, месяцы по горизонтали» вместо одной строки на каждую пару (год, месяц). Ручной переносимый приём: SUM(CASE WHEN month = 1 THEN amount END) AS jan, SUM(CASE WHEN month = 2 ...) AS feb, ... с группировкой по году. Ограничение: столбцы должны быть известны заранее (SQL статически типизирован), поэтому «динамический pivot» требует сборки SQL-строки в коде. В PostgreSQL есть crosstab() из расширения tablefunc. Часто pivot делают не в базе, а на уровне представления (BI-инструменты, Python/pandas), где он динамичен. Обратная операция — UNPIVOT (столбцы → строки).