MySQL-Datenumgestaltung: Spaltenerweiterung
Wenn Tabellendaten umgestaltet werden müssen, ist das Aufheben der Pivotierung der Spalten erforderlich. Diese Technik wandelt Spalten in Zeilen um und ermöglicht so eine flexiblere Datendarstellung. Obwohl MySQL keine explizite Erweiterungsfunktion bereitstellt, können wir durch geschickte Abfragekonstruktion den gleichen Effekt erzielen.
Methode 1: Verwenden Sie UNION ALL, um
abzufragenEine Möglichkeit besteht darin, eine UNION ALL-Abfrage zu verwenden, die die Ergebnisse mehrerer SELECT-Anweisungen aneinanderhängt. In diesem Beispiel erstellen wir eine separate SELECT-Anweisung für jede Spalte, die erweitert werden muss:
<code class="language-sql">select id, 'a' col, a value from yourtable union all select id, 'b' col, b value from yourtable union all select id, 'c' col, c value from yourtable</code>
Diese Abfrage erstellt eine neue Tabelle, in der jede Zeile ein Spaltenwertpaar darstellt. Die resultierende Tabelle hat das folgende Layout:
ID | col | value |
---|---|---|
1 | a | a1 |
1 | b | b1 |
1 | c | c1 |
2 | a | a2 |
2 | b | b2 |
2 | c | c2 |
Methode 2: CROSS JOIN verwenden
Ein anderer Ansatz ist die Verwendung von CROSS JOIN, der ein kartesisches Produkt mehrerer Tabellen generiert. Durch die Kombination von yourtable mit einer Tabelle, die Spaltennamen enthält, können wir Folgendes erreichen:
<code class="language-sql">select t.id, c.col, case c.col when 'a' then a when 'b' then b when 'c' then c end as data from yourtable t cross join ( select 'a' as col union all select 'b' union all select 'c' ) c</code>
Diese Abfrage erzeugt die gleiche Ausgabe wie die UNION ALL-Abfrage und bietet uns eine flexible Datendarstellung für die weitere Analyse oder Datenbearbeitung.
Durch die Implementierung dieser Entfaltungstechniken in MySQL können Sie effektiv aussagekräftige Erkenntnisse aus Ihren Daten gewinnen, indem Sie sie in ein einfacher navigierbares Format umwandeln.
Das obige ist der detaillierte Inhalt vonWie kann ich die Pivotierung von Spalten in MySQL aufheben, um meine Daten neu zu strukturieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!