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
Freigeben: 2024-12-20 14:18:14
Original
135 Leute haben es durchsucht

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;
Nach dem Login kopieren

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
Nach dem Login kopieren

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;
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage