Heim > Datenbank > MySQL-Tutorial > Wie kann ich Daten mit mehreren Spalten (Organisation und Position) mithilfe von SQL in ein breiteres Format umwandeln?

Wie kann ich Daten mit mehreren Spalten (Organisation und Position) mithilfe von SQL in ein breiteres Format umwandeln?

Patricia Arquette
Freigeben: 2025-01-03 00:53:41
Original
613 Leute haben es durchsucht

How to Pivot Data with Multiple Columns (org and position) into a Wider Format Using SQL?

Pivotieren von Daten mithilfe mehrerer Spalten

Pivot-Abfragen sind unerlässlich, um Daten aus einem hohen und schmalen Format in ein breites und tabellarisches Format umzuordnen. In diesem speziellen Fall müssen Sie Daten, die in einem Pivotformat mit zwei Spalten, nämlich „org“ und „position“, dargestellt werden, in ein breiteres Format mit separaten Spalten für jede Sprache (en, fi und sv) umwandeln.

As Sie haben erwähnt, dass eine Pivot-Abfrage mit dem Befehl CONNECT BY nützlich sein könnte. Hier ist jedoch ein einfacherer Ansatz mit dem PIVOT-Operator:

SELECT  user_id,
        MAX(CASE WHEN lang = 'en' THEN org END) AS org_en,
        MAX(CASE WHEN lang = 'en' THEN position END) AS position_en,
        MAX(CASE WHEN lang = 'fi' THEN org END) AS org_fi,
        MAX(CASE WHEN lang = 'fi' THEN position END) AS position_fi,
        MAX(CASE WHEN lang = 'sv' THEN org END) AS org_sv,
        MAX(CASE WHEN lang = 'sv' THEN position END) AS position_sv
FROM    source
GROUP BY user_id
Nach dem Login kopieren

Die Funktion MAX() wird verwendet, um den neuesten Wert abzurufen, der jeder Kombination aus Benutzer-ID und Sprache zugeordnet ist. Alternativ können Sie je nach Ihren spezifischen Anforderungen eine Aggregationsfunktion wie SUM() verwenden.

Diese Abfrage generiert die gewünschte Ausgabe:

user_id org_fi position_fi org_en position_en org_sv position_sv
1001 USD Bossa USE Boss NULL NULL
1002 NULL NULL NULL NULL GWR Dim
1003 GGA DCS NULL NULL GCA DDD

Denken Sie daran, die Funktion MAX() anzupassen und die CASE-Ausdrücke basierend auf Ihren tatsächlichen Daten und Anforderungen. Mit diesem Ansatz können Sie Ihre Daten mithilfe mehrerer Spalten effektiv schwenken und haben so die Flexibilität, sie in einem Format darzustellen, das Ihren Analyse- und Präsentationsanforderungen besser entspricht.

Das obige ist der detaillierte Inhalt vonWie kann ich Daten mit mehreren Spalten (Organisation und Position) mithilfe von SQL in ein breiteres Format 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