Heim >Datenbank >MySQL-Tutorial >Wie führe ich in MySQL mit dynamischen Daten eine Zeilen-zu-Spalten-Transformation (Pivot) durch?
Zeilen-zu-Spalte-Transformation in MySQL: Pivot-Tabelle für dynamische Daten
Pivot-Tabellen sind eine praktische Möglichkeit, Daten zeilenorientiert umzuwandeln Format in ein spaltenorientiertes Format um, was eine einfachere Analyse und Berichterstellung ermöglicht. In MySQL kann diese Transformation durch eine spezielle Technik erreicht werden.
Betrachten Sie die folgenden Beispieldaten:
ID | Type | Degignation | |
---|---|---|---|
1000000000 | 202 | [email protected] | Entrepreneur |
1000000000 | 234 | [email protected] | Engineering,Development |
1000000000 | 239 | [email protected] | CTO |
Um diese Daten zu schwenken, verwenden wir die folgende 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
Diese Abfrage verwendet den CASE-Ausdruck, um dynamisch Spalten für jeden einzelnen Typwert zu erstellen. Die MAX-Funktion wird verwendet, um die Designation-Werte für jede ID- und E-Mail-Kombination zu aggregieren.
Es ist wichtig zu beachten, dass Sie alle möglichen Typwerte im Voraus kennen müssen, damit diese Abfrage effektiv funktioniert. MySQL erlaubt kein dynamisches Hinzufügen von Spalten basierend auf zur Laufzeit erkannten Daten; Spaltendefinitionen müssen während der Abfragevorbereitung statisch sein.
Mit dieser Technik können Sie zeilenorientierte Daten in ein spaltenorientiertes Format umwandeln und Analyse- und Berichtsaufgaben durch eine intuitivere Datenpräsentation erleichtern.
Das obige ist der detaillierte Inhalt vonWie führe ich in MySQL mit dynamischen Daten eine Zeilen-zu-Spalten-Transformation (Pivot) durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!