Leksykon IT › Bazy danych › PIVOT (SQL)

PIVOT (SQL)

Bazy danych Svenska → Zaktualizowano: 2026-10-07

Operacja zamieniająca wiersze w kolumny — np. długą tabelę (miesiąc, kwota) w szeroką z osobną kolumną na każdy miesiąc. Wbudowana składnia PIVOT jest w SQL Server i Oracle; w PostgreSQL robi się to agregacją z CASE WHEN lub funkcją crosstab().

Zastosowanie: raporty, w których chcemy „rok w pionie, miesiące w poziomie” zamiast jednego wiersza na parę (rok, miesiąc). Wzorzec ręczny (przenośny): SUM(CASE WHEN month = 1 THEN amount END) AS jan, SUM(CASE WHEN month = 2 ...) AS feb, ... z grupowaniem po roku. Ograniczenie: kolumny muszą być znane z góry (SQL jest typowany statycznie) → „dynamiczny pivot” wymaga budowania zapytania SQL w kodzie. PostgreSQL ma crosstab() w rozszerzeniu tablefunc. Przestawianie często robi się zamiast tego w warstwie prezentacji (narzędzia BI, Python/pandas), gdzie jest dynamiczne. Operacją odwrotną jest UNPIVOT (kolumny → wiersze).

← Wróć do leksykonu