Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Berbilang Baris ke dalam Rentetan Tunggal Menggunakan GROUP_CONCAT dan CONCAT dalam MySQL?
Menggunakan GROUP_CONCAT dalam CONCAT dalam MySQL
Untuk menggabungkan berbilang baris menjadi satu rentetan, sambil mengumpulkannya mengikut nilai sepunya, anda boleh menggunakan Fungsi GROUP_CONCAT. Mari kita teroka aplikasinya dengan contoh praktikal.
Soalan:
Diberikan jadual bernama mytbl dengan data seperti berikut:
id | Name | Value |
---|---|---|
1 | A | 4 |
1 | A | 5 |
1 | B | 8 |
2 | C | 9 |
Bagaimana boleh kami menukar data ini kepada yang berikut format:
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
Jawapan:
Untuk mencapai ini, anda boleh menggunakan gabungan fungsi GROUP_CONCAT dan CONCAT bersarang:
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;
Penjelasan:
Gabungan GROUP_CONCAT dan CONCAT bersarang ini membolehkan anda untuk menjana output yang diingini, di mana setiap id dikaitkan dengan rentetan Nama yang dipisahkan koma dan Nilai sepadannya.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Berbilang Baris ke dalam Rentetan Tunggal Menggunakan GROUP_CONCAT dan CONCAT dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!