Heim >Datenbank >MySQL-Tutorial >Wie kann GROUP_CONCAT MySQL-Daten in einer einzigen Spalte konsolidieren?
Verwendung von GROUP_CONCAT für eine umfassende Datenverkettung
Wenn man mit der Aufgabe konfrontiert wird, Daten in ein konsolidiertes Format umzuwandeln, erweist sich GROUP_CONCAT als leistungsstarkes Werkzeug in MySQL. Lassen Sie uns seine Funktionalität untersuchen, indem wir ein bestimmtes Datenmanipulationsproblem angehen:
Ziel:
Die folgenden Daten in ein konsolidiertes Format umwandeln:
id | Name | Value |
---|---|---|
1 | A | 4 |
1 | A | 5 |
1 | B | 8 |
2 | C | 9 |
Gewünscht Ausgabe:
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
Lösung:
Um diese Transformation zu erreichen, verwenden wir GROUP_CONCAT in Verbindung mit einer Unterabfrage:
select id, group_concat(`Name` separator ',') as `ColumnName` from ( select id, concat(`Name`, ':', group_concat(`Value` separator ',')) as Name from mytbl group by id, Name ) tbl group by id;
Aufschlüsselung:
Die Unterabfrage bedient zwei Zwecke:
Beispiel:
Berücksichtigen Sie die bereitgestellten Daten. Die Unterabfrage ergibt:
id | Name |
---|---|
1 | A:4,5 |
1 | B:8 |
2 | C:9 |
Der äußere GROUP_CONCAT erzeugt dann die endgültige Ausgabe:
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
Das obige ist der detaillierte Inhalt vonWie kann GROUP_CONCAT MySQL-Daten in einer einzigen Spalte konsolidieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!