Maison >base de données >tutoriel mysql >Comment transformer un ensemble de résultats MySQL en tableau croisé dynamique à l'aide de l'agrégation conditionnelle ?
Transformation de tableau croisé dynamique dans MySQL
Vous avez un ensemble de résultats dans MySQL avec plusieurs lignes partageant le même ID mais différents types et désignations, et vous souhaitez le transformer en un format de tableau croisé dynamique, où les types deviennent des colonnes et les désignations deviennent des valeurs de ligne dans ces colonnes. Voici comment y parvenir :
La solution consiste à faire pivoter les données, ce que l'on appelle la création d'un tableau croisé dynamique. Le processus implique :
Préparer la requête :
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
Interpréter la requête :
Remarque :
Il est important de noter que la requête suppose que vous connaissez à l'avance les valeurs de type distinctes. En SQL, les définitions de colonnes doivent être corrigées lors de la préparation de la requête. Si vous disposez d'un ensemble variable de valeurs de type, vous devrez utiliser une requête dynamique ou une procédure stockée pour générer la requête appropriée au moment de l'exécution.
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!