Comment transformer des lignes en colonnes dans MySQL
Les tableaux croisés dynamiques sont une transformation de données courante utilisée pour réorganiser les données dans un format plus facile à lire et analyser. Dans ce scénario, nous souhaitons transformer un ensemble de résultats avec plusieurs lignes en un tableau avec des colonnes pour chaque valeur de type distincte et des lignes pour chaque combinaison unique d'ID et d'e-mail.
Pour y parvenir dans MySQL, nous pouvons utiliser le requête suivante :
SELECT ID, MAX(CASE Type WHEN 202 THEN Degignation END) AS `202` MAX(CASE Type WHEN 234 THEN Degignation END) AS `234` MAX(CASE Type WHEN 239 THEN Degignation END) AS `239` Email FROM mytable GROUP BY ID, Email
Cette requête utilise l'instruction CASE pour définir conditionnellement la valeur Degignation pour chaque ligne en fonction de sa valeur Type. La fonction d'agrégation MAX() renvoie ensuite la valeur de désignation maximale pour chaque type dans chaque groupe d'ID et d'e-mail.
Remarque : Il est important de remplacer le nom de la table d'espace réservé (mytable) par le nom réel de la table contenant vos données. De plus, vous devez connaître à l'avance toutes les valeurs de type distinctes, car SQL ne permet pas l'ajout dynamique de colonnes lors de l'exécution de la requête.
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!