Rumah >pangkalan data >tutorial mysql >Bagaimanakah GROUP_CONCAT MySQL Boleh Mencapai Penggabungan Bersyarat?
Menggunakan GROUP_CONCAT untuk Conditional Concatenation dalam MySQL
Manipulasi pangkalan data memerlukan menukar data kepada pelbagai format untuk memenuhi keperluan yang berbeza. Satu tugas biasa ialah penyatuan berbilang nilai yang dikaitkan dengan pengecam tertentu. Dalam MySQL, fungsi GROUP_CONCAT menawarkan alat yang berkuasa untuk melaksanakan penggabungan sedemikian dengan cara yang fleksibel.
Pertimbangkan jadual MySQL dengan data berikut:
id | Name | Value |
---|---|---|
1 | A | 4 |
1 | A | 5 |
1 | B | 8 |
2 | C | 9 |
Objektif kami adalah untuk mengubah data ini ke dalam format tertentu:
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
Untuk mencapai format ini, kami boleh menggunakan GROUP_CONCAT untuk menggabungkan berbilang nilai yang dikaitkan dengan setiap pengecam unik. Berikut ialah pecahan terperinci penyelesaian:
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:
Sebagai alternatif, jika anda lebih suka menggabungkan semua nilai tanpa mengumpulkan Nama, anda boleh mengubah suai pertanyaan sebagai berikut:
select id,group_concat(concat(`name`,':',`value`) separator ',') as Result from mytbl group by id
Atas ialah kandungan terperinci Bagaimanakah GROUP_CONCAT MySQL Boleh Mencapai Penggabungan Bersyarat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!