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

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

DDD
Lepaskan: 2024-12-10 21:21:10
asal
181 orang telah melayarinya

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

Menapis Pendua dalam GROUP_CONCAT() Keputusan Menggunakan MySQL's DISTINCT

Dalam pertanyaan pangkalan data, fungsi GROUP_CONCAT() sering digunakan untuk menggabungkan nilai daripada berbilang baris ke dalam satu rentetan . Walau bagaimanapun, kadangkala, rentetan yang terhasil mungkin mengandungi nilai pendua. Untuk menangani isu ini, MySQL menyediakan atribut DISTINCT dalam GROUP_CONCAT().

GROUP_CONCAT() dengan DISTINCT: Contoh Praktikal

Pertimbangkan jadual berikut dengan lajur "kategori":

categories
test1 test2 test3
test4
test1 test3
test1 test3

Jika kita melaksanakan perkara berikut pertanyaan:

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

Kami akan mendapat hasil berikut:

test1 test2 test3 test4 test1 test3
Salin selepas log masuk

Walau bagaimanapun, kami mungkin mahu mengecualikan nilai pendua, menghasilkan:

test1 test2 test3 test4
Salin selepas log masuk

Menggunakan DISTINCT untuk Menghapuskan Pendua

Untuk mencapai matlamat ini, kami hanya menambah atribut DISTINCT pada GROUP_CONCAT() fungsi:

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

Dengan menyatakan DISTINCT, MySQL akan menghapuskan nilai pendua daripada rentetan bercantum, menghasilkan output yang diingini. Ambil perhatian bahawa klausa ORDER BY memastikan bahawa nilai yang digabungkan diisih dalam tertib menaik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Pendua daripada Keputusan 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan