Umkehren der Auswirkungen von GROUP_CONCAT: Aufteilen verketteter Daten
In MySQL kombiniert die Funktion GROUP_CONCAT mehrere Werte aus einer bestimmten Spalte in einer einzigen, Durch Kommas getrennte Zeichenfolge. Es kann jedoch Fälle geben, in denen Sie den gegenteiligen Effekt wünschen, bei dem eine verkettete Zeichenfolge wieder in ihre einzelnen Komponenten zerlegt wird.
Die Abfrage zum Erreichen der Aufteilung
Um dies zu erreichen, verwenden Sie die folgende Abfrage:
SELECT id, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n.digit+1), ',', -1) color FROM colors INNER JOIN (SELECT 0 digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) n ON LENGTH(REPLACE(colors, ',' , '')) <= LENGTH(colors)-n.digit ORDER BY id, n.digit
Understanding the Details
Beispieldaten und -ausgabe
Für die Beispieldaten Vorausgesetzt:
+----+----------------------+ | id | colors | +----+----------------------+ | 1 | Red,Green,Blue | | 2 | Orangered,Periwinkle | +----+----------------------+
Die Ausgabe der Abfrage lautet:
+----+------------+ | id | colors | +----+------------+ | 1 | Red | | 1 | Green | | 1 | Blue | | 2 | Orangered | | 2 | Periwinkle | +----+------------+
Das obige ist der detaillierte Inhalt vonWie kann ich MySQLs GROUP_CONCAT umkehren, um verkettete Daten zu trennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!