Menukar Nilai MySQL Terpilih menjadi Rentetan Dipisahkan Koma
Apabila bekerja dengan MySQL, selalunya perlu mengambil data dan menukarnya menjadi format yang lebih terurus. Satu keperluan biasa ialah mengubah senarai nilai yang dipilih menjadi rentetan yang dipisahkan koma.
Pertimbangkan senario berikut: Anda mempunyai jadual bernama table_level dengan lajur dipanggil id dan lajur parent_id. Anda mahu memilih semua nilai id dengan parent_id bersamaan dengan 4 dan menukarnya menjadi rentetan dipisahkan koma tunggal.
Pernyataan Masalah:
Kod awal anda ialah seperti berikut:
SELECT id FROM table_level WHERE parent_id = 4;
Pertanyaan ini akan mengembalikan nilai id dengan betul, tetapi ia akan memaparkannya sebagai baris individu, menjadikannya sukar untuk berfungsi dengannya sebagai rentetan tunggal.
Output yang Diingini:
Output yang dikehendaki hendaklah dalam format rentetan dipisahkan koma berikut:
"5,6,9,10,12,14,15,17,18,779"
Penyelesaian:
Untuk mencapai output yang dikehendaki, anda boleh menggunakan fungsi GROUP_CONCAT() MySQL. Fungsi ini menggabungkan nilai dari lajur tertentu, dipisahkan oleh pembatas tertentu. Dalam kes ini, pembatas akan menjadi koma.
Pertanyaan Diubah Suai:
SELECT GROUP_CONCAT(id) FROM table_level WHERE parent_id = 4 GROUP BY parent_id;
Pertanyaan yang diubah suai ini menggunakan GROUP_CONCAT() untuk menggabungkan nilai id, dipisahkan dengan koma, ke dalam satu rentetan. Klausa GROUP BY memastikan bahawa penggabungan dilakukan hanya untuk nilai parent_id yang ditentukan (4 dalam kes ini).
Output:
Melaksanakan pertanyaan yang diubah suai akan menghasilkan output rentetan dipisahkan koma yang dikehendaki:
"5,6,9,10,12,14,15,17,18,779"
Atas ialah kandungan terperinci Bagaimana untuk Menukar Nilai MySQL menjadi Rentetan Dipisahkan Koma?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!