Maison > Article > base de données > Comment transposer des lignes et des colonnes dans Oracle
Comment transposer des lignes et des colonnes Oracle : 1. Utilisez la fonction pivot() pour transférer des lignes en colonnes, et la syntaxe est "pivot (fonction d'agrégation pour le nom de colonne dans (type))" ; fonction pour transférer des colonnes vers des lignes, et la syntaxe est " unpivot(nom de colonne pour le nom de colonne dans (type))".
L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.
J'ai déjà été exposé à la transposition de lignes et de colonnes en SQL général. Pour transférer des lignes en colonnes, utilisez la fonction d'agrégation sum | max, puis combinez-la avec le cas when then else end. et pour transférer des colonnes, utilisez union ou union all. C'est en fait un peu gênant, et dans les données Oracle, une telle fonction est spécialement fournie pour réaliser la fonction de transposition de lignes et de colonnes.
Vous pouvez également utiliser le SQL général pour implémenter la transposition de lignes et de colonnes, mais Oracle fournit des fonctions spéciales pour gérer la transposition de lignes et de colonnes, c'est-à-dire en utilisant la fonction pivot et la fonction non-pivot, qui sont présentées ci-dessous.
1. Pivoter de ligne en colonne
La base de données Oracle fournit la fonction pivot pour réaliser la fonction de ligne en colonne. Elle obtient également l'effet de ligne en colonne ci-dessus. SQL peut également être écrit comme ceci :
SELECT NAME AS 姓名, "'语文'", "'数学'", "'英语'" FROM stu_score pivot ( max( score ) FOR SUBJECT IN ( '语文', '数学', '英语' ) );
Les résultats de la requête. sont les suivants :
2. Dépivoter la colonne en ligne
Oracle fournit la fonction non-pivot pour implémenter la fonction de colonne en ligne pour obtenir le même effet. SQL peut également être écrit comme ceci :
SELECT NAME AS 姓名, 月份,工资 FROM e_sal unpivot ( 工资 FOR 月份 IN ( M_1, M_2, M_3, M_4 ) );
Les résultats de la requête. sont les suivants :
Tutoriel recommandé : " Tutoriel vidéo Oracle》
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!