Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Membalikkan GROUP_CONCAT MySQL untuk Mengasingkan Data Bersatu?
Membalikkan Kesan GROUP_CONCAT: Memisahkan Data Bercantum
Dalam MySQL, fungsi GROUP_CONCAT menggabungkan berbilang nilai daripada lajur tertentu menjadi satu, rentetan dipisahkan koma. Walau bagaimanapun, mungkin terdapat keadaan di mana anda menginginkan kesan sebaliknya, di mana rentetan bercantum dipecahkan semula kepada komponen individunya.
Pertanyaan untuk Mencapai Pemisahan
Untuk mencapai ini, gunakan pertanyaan berikut:
SELECT id, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n.digit+1), ',', -1) color FROM colors INNER JOIN (SELECT 0 digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) n ON LENGTH(REPLACE(colors, ',' , '')) <= LENGTH(colors)-n.digit ORDER BY id, n.digit
Memahami Butiran
Contoh Data dan Output
Untuk data sampel disediakan:
+----+----------------------+ | id | colors | +----+----------------------+ | 1 | Red,Green,Blue | | 2 | Orangered,Periwinkle | +----+----------------------+
Output pertanyaan ialah:
+----+------------+ | id | colors | +----+------------+ | 1 | Red | | 1 | Green | | 1 | Blue | | 2 | Orangered | | 2 | Periwinkle | +----+------------+
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membalikkan GROUP_CONCAT MySQL untuk Mengasingkan Data Bersatu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!