Heim > Datenbank > MySQL-Tutorial > Wie kann ich in DB2 mithilfe von GROUP BY Zeilen in Spalten umwandeln?

Wie kann ich in DB2 mithilfe von GROUP BY Zeilen in Spalten umwandeln?

Mary-Kate Olsen
Freigeben: 2025-01-05 10:32:41
Original
717 Leute haben es durchsucht

How to Pivot Rows into Columns in DB2 Using GROUP BY?

Pivotieren in DB2

Bei dieser Frage geht es um die Transponierung von Zeilen in Spalten in einer DB2-Tabelle. Die bereitgestellten Daten sind mit den Spalten „ItemID“, „Item“ und „Value“ strukturiert. Das Ziel besteht darin, diese Daten in ein transponiertes Format umzuwandeln, in dem die Werte für „Meeting“, „Advise“ und „NoAdvise“ als Spalten angeordnet sind, wobei die ItemID als Zeilenidentifikator dient.

Ein Ansatz zur Ausführung dieses Pivots besteht darin: Verwenden Sie eine GROUP BY-Klausel zusammen mit mehreren MAX()-Ausdrücken. Durch die Verwendung von MAX() und die Angabe der Kriterien für jeden Elementtyp innerhalb der CASE-Anweisung können die entsprechenden Werte abgerufen werden. Zum Beispiel:

SELECT 
  ItemID,
  MAX(CASE WHEN Item = 'Meeting'  THEN Value END) AS Meeting,
  MAX(CASE WHEN Item = 'Advise'   THEN Value END) AS Advise,
  MAX(CASE WHEN Item = 'NoAdvise' THEN Value END) AS NoAdvise
FROM table_name
GROUP BY ItemID
Nach dem Login kopieren

Diese Abfrage generiert das gewünschte transponierte Format, wobei ItemID als Primärschlüssel dient und Meeting, Advise und NoAdvise die Spaltenüberschriften werden. Die GROUP BY-Klausel stellt sicher, dass die Daten nach ItemID gruppiert werden und für jedes Element eine eigene Zeile bereitgestellt wird.

Alternativ kann das gleiche Ergebnis durch die Verwendung mehrerer korrelierter Unterabfragen erzielt werden, wie in der derzeit akzeptierten Antwort in diesem Forum vorgeschlagen . Es ist jedoch zu beachten, dass es beim Unterabfrage-Ansatz im Vergleich zur effizienteren GROUP BY-Lösung zu Leistungsproblemen kommen kann, insbesondere bei größeren Datensätzen.

Das obige ist der detaillierte Inhalt vonWie kann ich in DB2 mithilfe von GROUP BY Zeilen in Spalten 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