Heim >Datenbank >MySQL-Tutorial >Wie verkette ich mehrere Zeilen zu einer einzigen Zeichenfolge mithilfe von GROUP_CONCAT und CONCAT in MySQL?
Verwenden von GROUP_CONCAT innerhalb von CONCAT in MySQL
Um mehrere Zeilen zu einer einzigen Zeichenfolge zu verketten und sie gleichzeitig nach gemeinsamen Werten zu gruppieren, können Sie die verwenden GROUP_CONCAT-Funktion. Lassen Sie uns die Anwendung anhand eines praktischen Beispiels untersuchen.
Frage:
Gegeben sei eine Tabelle namens mytbl mit Daten wie folgt:
id | Name | Value |
---|---|---|
1 | A | 4 |
1 | A | 5 |
1 | B | 8 |
2 | C | 9 |
Wie kann Wir transformieren diese Daten in Folgendes Format:
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
Antwort:
Um dies zu erreichen, können Sie eine Kombination aus verschachtelten GROUP_CONCAT- und CONCAT-Funktionen verwenden:
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;
Erklärung:
Diese verschachtelte Kombination aus GROUP_CONCAT und CONCAT ermöglicht es Ihnen, die gewünschte Ausgabe zu generieren, wobei jede ID einem zugeordnet ist Durch Kommas getrennte Zeichenfolge des Namens und des entsprechenden Werts.
Das obige ist der detaillierte Inhalt vonWie verkette ich mehrere Zeilen zu einer einzigen Zeichenfolge mithilfe von GROUP_CONCAT und CONCAT in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!