Rentetan Dipisahkan Koma bagi Nilai Terpilih dalam MySQL
Masalah:
Bagaimana anda boleh menukar nilai yang dipilih menjadi rentetan yang dipisahkan koma dalam MySQL? Sebagai contoh, anda mempunyai pertanyaan yang mengembalikan berbilang nilai dan anda mahu menggabungkannya menjadi satu rentetan.
Kod Permulaan:
Berikut ialah contoh pertanyaan yang memilih beberapa ID daripada jadual:
SELECT id FROM table_level WHERE parent_id = 4;
Output yang Diingini:
Daripada baris berasingan, anda ingin mendapatkan rentetan tunggal dengan semua ID dipisahkan koma:
"5,6,9,10,12,14,15,17,18,779"
Penyelesaian:
Fungsi GROUP_CONCAT() dalam MySQL direka untuk tujuan yang tepat ini. Ia menggabungkan berbilang nilai ke dalam satu rentetan, dipisahkan oleh pembatas yang ditentukan. Berikut ialah pertanyaan yang disemak menggunakan GROUP_CONCAT():
SELECT GROUP_CONCAT(id) FROM table_level WHERE parent_id = 4 GROUP BY parent_id;
Pertanyaan ini mengumpulkan hasil mengikut parent_id dan menggabungkan nilai ID dalam setiap kumpulan, dengan koma sebagai pembatas. Hasilnya ialah satu baris yang mengandungi rentetan ID yang dipisahkan koma yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Berbilang Nilai ke dalam Rentetan Dipisahkan Koma dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!