Pivot-Tabellentransformation in MySQL
Sie haben eine Ergebnismenge in MySQL mit mehreren Zeilen, die dieselbe ID, aber unterschiedliche Typen und Bezeichnungen haben, und Sie möchten es in ein Pivot-Tabellenformat umwandeln, in dem Typen zu Spalten und Bezeichnungen zu Zeilenwerten innerhalb dieser Spalten werden. So können Sie dies erreichen:
Die Lösung besteht im Pivotieren der Daten, was als Erstellen einer Pivot-Tabelle bezeichnet wird. Der Prozess umfasst:
Vorbereiten der Abfrage:
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
Interpretieren der Abfrage:
Hinweis:
Es ist wichtig zu beachten, dass die Abfrage davon ausgeht, dass Sie die verschiedenen Typwerte im Voraus kennen. In SQL müssen Spaltendefinitionen während der Abfragevorbereitung festgelegt werden. Wenn Sie über einen unterschiedlichen Satz von Typwerten verfügen, müssen Sie eine dynamische Abfrage oder eine gespeicherte Prozedur verwenden, um die entsprechende Abfrage zur Laufzeit zu generieren.
Das obige ist der detaillierte Inhalt vonWie transformiere ich eine MySQL-Ergebnismenge mithilfe der bedingten Aggregation in eine Pivot-Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!