Heim >Datenbank >MySQL-Tutorial >Wie formt man MySQL-Daten mithilfe von SQL vom Schmal- ins Breitformat um?

Wie formt man MySQL-Daten mithilfe von SQL vom Schmal- ins Breitformat um?

Barbara Streisand
Barbara StreisandOriginal
2024-12-20 14:18:14134Durchsuche

How to Reshape MySQL Data from Narrow to Wide Format Using SQL?

Umgestaltung von MySQL-Daten vom Schmal- ins Breitformat

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!

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