Lexique informatique › Bases de données › PIVOT (SQL)

PIVOT (SQL)

Bases de données Svenska → Mis à jour: 2026-09-24

Opération qui transforme des lignes en colonnes — par exemple une longue table de (mois, montant) en une table large avec une colonne par mois. Syntaxe PIVOT native dans SQL Server et Oracle ; dans PostgreSQL, on passe par une agrégation CASE WHEN ou par crosstab().

Cas d'usage : les rapports où l'on veut « les années en ligne, les mois en colonne » plutôt qu'une ligne par (année, mois). Le schéma manuel (portable) : SUM(CASE WHEN mois = 1 THEN montant END) AS janv, SUM(CASE WHEN mois = 2 ...) AS fevr, ..., groupé par année. Limite : les colonnes doivent être connues à l'avance (SQL est typé statiquement) → un « pivot dynamique » suppose de construire la chaîne SQL dans le code. PostgreSQL propose crosstab() dans l'extension tablefunc. Le pivotage se fait souvent plutôt dans la couche de présentation (outils BI, Python/pandas), où il est dynamique. L'opération inverse est UNPIVOT (colonnes → lignes).

← Retour au lexique