Heim > Datenbank > MySQL-Tutorial > Kann MySQL Daten im Langformat ohne externe Skripte in Breitformat umwandeln?

Kann MySQL Daten im Langformat ohne externe Skripte in Breitformat umwandeln?

Susan Sarandon
Freigeben: 2024-12-25 10:09:15
Original
363 Leute haben es durchsucht

Can MySQL Transform Long-Format Data to Wide-Format Without External Scripts?

Umformen von Daten vom Lang- ins Breitformat in MySQL

In MySQL werden Daten häufig in einem Lang- oder Hochformat mit mehreren Attributen gespeichert werden in separaten Zeilen für dieselbe Entität gespeichert. Für Analyse- und Berichtszwecke kann es jedoch praktischer sein, die Daten in einem breiten Format zu haben, in dem jede Zeile eine Entität und jede Spalte ein Attribut darstellt.

Kann MySQL zum Konvertieren von Daten im Langformat verwendet werden? ins Breitformat ohne externes Scripting? Ja, das ist mit den leistungsstarken Pivot-Tabellenfunktionen von MySQL möglich.

Erstellen der breiten Tabelle

  1. Liste der Schlüssel abrufen: Rufen Sie mithilfe einer Abfrage alle eindeutigen Schlüssel ab, die in der Langformattabelle vorhanden sind wie:

    SELECT DISTINCT key FROM table;
    Nach dem Login kopieren
  2. Erstellen Sie die breite Tabelle:Erstellen Sie eine neue Tabelle mit den erforderlichen Spalten. Die Spaltennamen sollten den Schlüsseln entsprechen. Wenn Sie beispielsweise über die Schlüssel „Präsident“ und „Währung“ verfügen, sollte Ihre Tabelle Spalten mit den Namen „Präsident“ und „Währung“ enthalten.

Eingeben der Tabellenwerte

Verwenden Sie a Kreuztabellenabfrage zum Ausfüllen der Werte in der breiten Tabelle. Die folgende Abfrage veranschaulicht dies:

SELECT country,
       MAX(IF(key='President', value, NULL)) AS President,
       MAX(IF(key='Currency', value, NULL)) AS Currency,
       ...  -- Add other key-value pairs as needed

FROM table
GROUP BY country;
Nach dem Login kopieren

Diese Abfrage überprüft jede Zeile in der langen Tabelle und gibt nur den neuesten Wert für jedes Schlüssel-Wert-Paar für dieses Land zurück. Die MAX-Funktion mit der IF-Bedingung stellt sicher, dass der aktuellste Wert erhalten bleibt.

Zum Beispiel würden die in der Frage bereitgestellten Eingabedaten in den folgenden Wide umgewandelt Format:

Eingabe:

country attrName attrValue key
US President Obama 2
US Currency Dollar 3
China President Hu 4
China Currency Yuan 5

Ausgabe:

country President Currency
US Obama Dollar
China Hu Yuan

Schlussfolgerung

Mit MySQL-Pivot-Tabellen ist es einfach, Daten vom Lang- ins Breitformat umzuwandeln und so mehr zu erreichen geeignet für Analyse und Reporting. Diese Methode ist effizient und kann auf Tabellen mit beliebig vielen Attributen angewendet werden.

Das obige ist der detaillierte Inhalt vonKann MySQL Daten im Langformat ohne externe Skripte in Breitformat umwandeln?. 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