Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengalih Keluar Pendua daripada Fungsi GROUP_CONCAT() MySQL?

Bagaimanakah Saya Boleh Mengalih Keluar Pendua daripada Fungsi GROUP_CONCAT() MySQL?

Susan Sarandon
Lepaskan: 2024-12-26 13:29:09
asal
765 orang telah melayarinya

How Can I Remove Duplicates from MySQL's GROUP_CONCAT() Function?

Hapuskan Pendua daripada GROUP_CONCAT() menggunakan DISTINCT

Dalam MySQL, GROUP_CONCAT() ialah fungsi yang berguna untuk mengagregatkan nilai daripada berbilang baris ke dalam rentetan dipisahkan koma tunggal. Walau bagaimanapun, apabila bekerja dengan nilai bukan unik, pendua boleh muncul dalam rentetan yang terhasil. Untuk menangani perkara ini, atribut DISTINCT boleh digunakan dalam fungsi GROUP_CONCAT().

Masalah:

Pertimbangkan jadual data sampel berikut dengan lajur "kategori":

categories
test1 test2 test3
test4
test1 test3
test1 test3

Apabila melakukan GROUP_CONCAT() berikut pertanyaan:

SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table
Salin selepas log masuk

Hasilnya ialah:

test1 test2 test3 test4 test1 test3
Salin selepas log masuk

Walau bagaimanapun, hasil yang diinginkan ialah:

test1 test2 test3 test4
Salin selepas log masuk
Salin selepas log masuk

Penyelesaian:

Untuk menghapuskan nilai pendua daripada hasil GROUP_CONCAT(), gunakan atribut DISTINCT sebagai berikut:

SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table
Salin selepas log masuk

Atribut DISTINCT memastikan bahawa hanya nilai unik disertakan dalam rentetan bercantum. Klausa ORDER BY digunakan untuk mengisih nilai dalam tertib menaik. Hasilnya ialah rentetan dipisahkan koma yang mengandungi hanya kategori yang berbeza:

test1 test2 test3 test4
Salin selepas log masuk
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Pendua daripada Fungsi GROUP_CONCAT() MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan