Menggunakan GROUP_CONCAT untuk Penggabungan Data Komprehensif
Apabila berhadapan dengan tugas mengubah data menjadi format yang disatukan, GROUP_CONCAT muncul sebagai alat yang berkuasa dalam MySQL. Mari kita terokai fungsinya dengan menangani masalah manipulasi data tertentu:
Objektif:
Ubah data berikut kepada format yang disatukan:
id | Name | Value |
---|---|---|
1 | A | 4 |
1 | A | 5 |
1 | B | 8 |
2 | C | 9 |
Diingini Output:
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
Penyelesaian:
Untuk mencapai transformasi ini, kami menggunakan GROUP_CONCAT bersama-sama dengan subkueri:
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;
Pecahan:
The subquery mempunyai dua tujuan:
Contoh:
Pertimbangkan data yang diberikan. Subquery menghasilkan:
id | Name |
---|---|
1 | A:4,5 |
1 | B:8 |
2 | C:9 |
GROUP_CONCAT luar kemudiannya menghasilkan output akhir:
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
Atas ialah kandungan terperinci Bagaimanakah GROUP_CONCAT Boleh Menyatukan Data MySQL ke dalam Satu Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!