Heim > Datenbank > MySQL-Tutorial > Wie kann ich Zeilen in MySQL mithilfe von CASE- und Aggregatfunktionen in Spalten umwandeln?

Wie kann ich Zeilen in MySQL mithilfe von CASE- und Aggregatfunktionen in Spalten umwandeln?

Mary-Kate Olsen
Freigeben: 2024-12-03 02:28:11
Original
810 Leute haben es durchsucht

How to Pivot Rows into Columns in MySQL Using CASE and Aggregate Functions?

So wandeln Sie Zeilen in Spalten in MySQL um

Pivot-Tabellen sind eine gängige Datentransformation, die verwendet wird, um Daten in ein einfacheres Format umzuordnen lesen und analysieren. In diesem Szenario möchten wir eine Ergebnismenge mit mehreren Zeilen in eine Tabelle mit Spalten für jeden einzelnen Typwert und Zeilen für jede eindeutige ID- und E-Mail-Kombination umwandeln.

Um dies in MySQL zu erreichen, können wir die verwenden Folgende Abfrage:

SELECT ID, 
 MAX(CASE Type WHEN 202 THEN Degignation END) AS `202`
 MAX(CASE Type WHEN 234 THEN Degignation END) AS `234`
 MAX(CASE Type WHEN 239 THEN Degignation END) AS `239`
 Email
FROM mytable
GROUP BY ID, Email
Nach dem Login kopieren

Diese Abfrage verwendet die CASE-Anweisung, um den Deignation-Wert für jede Zeile basierend auf ihrem Type-Wert bedingt festzulegen. Die Aggregatfunktion MAX() gibt dann den maximalen Designationswert für jeden Typ innerhalb jeder Gruppe von ID und E-Mail zurück.

Hinweis: Es ist wichtig, den Namen der Platzhaltertabelle (mytable) durch zu ersetzen tatsächlicher Tabellenname, der Ihre Daten enthält. Darüber hinaus müssen Sie alle unterschiedlichen Typwerte im Voraus kennen, da SQL das dynamische Hinzufügen von Spalten während der Abfrageausführung nicht zulässt.

Das obige ist der detaillierte Inhalt vonWie kann ich Zeilen in MySQL mithilfe von CASE- und Aggregatfunktionen 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