Heim >Datenbank >MySQL-Tutorial >Wie führe ich in MySQL mit dynamischen Daten eine Zeilen-zu-Spalten-Transformation (Pivot) durch?

Wie führe ich in MySQL mit dynamischen Daten eine Zeilen-zu-Spalten-Transformation (Pivot) durch?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-28 11:51:10868Durchsuche

How to Perform Row to Column Transformation (Pivot) in MySQL with Dynamic Data?

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 Email 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn