Heim >Datenbank >MySQL-Tutorial >Wie formt man MySQL-Daten mithilfe von SQL vom Schmal- ins Breitformat um?
Einführung
Daten liegen oft in verschiedenen Formaten vor, und außerdem, Es ist notwendig, es von einem Format in ein anderes zu konvertieren. Eine häufige Konvertierung ist vom schmalen/hohen Format in das breite Format, wobei mehrere Spalten in der schmalen Tabelle zu mehreren Zeilen in der breiten Tabelle werden. In diesem Artikel wird untersucht, wie diese Konvertierung in MySQL erreicht wird.
Erstellen der breiten Tabellenstruktur
Um eine Tabelle im breiten Format zu erstellen, identifizieren Sie zunächst alle eindeutigen Schlüssel aus der schmalen Tabelle Tisch. Dies kann mit der folgenden Abfrage erreicht werden:
select distinct key from table;
Das Ergebnis dieser Abfrage liefert eine Liste aller eindeutigen Schlüssel in der schmalen Tabelle. Diese Schlüssel werden zu den Spaltennamen für die Breitformattabelle. Wenn die eindeutigen Schlüssel beispielsweise ['Präsident', 'Währung'] lauten, hat die Breitformattabelle die folgende Struktur:
country, President, Currency
Auffüllen der Breittabellendaten
Um die Werte für die Breitformattabelle einzugeben, verwenden Sie eine SELECT-Anweisung mit Aggregatfunktionen wie MAX() oder GROUP_CONCAT():
SELECT country, MAX( IF( key='President', value, NULL ) ) AS President, MAX( IF( key='Currency', value, NULL ) ) AS Currency FROM table GROUP BY country;
In diesem Beispiel wird die Aggregatfunktion MAX() verwendet, um den Maximalwert für jeden Schlüssel in jedem Land abzurufen. Diese Abfrage würde das folgende Ergebnis liefern:
country, President, Currency US, Obama, Dollar China, Hu, Yuan
Alternativer Ansatz: Kreuztabellen oder Pivot-Tabellen
Ein alternativer Ansatz zum Erstellen einer Tabelle im Großformat ist die Verwendung Kreuztabellen oder Pivottabellen. Dies kann mit Tools wie dem PIVOT-Operator von MySQL erreicht werden, mit dem Sie die Spalten und Aggregatfunktionen angeben können, die Sie verwenden möchten.
Fazit
Umformen von Daten aus Narrow in ein Breitformat kann in MySQL mithilfe von SQL-Aggregatfunktionen oder Kreuztabellen/Pivot-Tabellen leicht erreicht werden. Diese Konvertierung ist besonders nützlich, wenn Sie mit Datenvisualisierungstools wie Diagrammen und Grafiken arbeiten.
Das obige ist der detaillierte Inhalt vonWie formt man MySQL-Daten mithilfe von SQL vom Schmal- ins Breitformat um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!