Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Nilai Berbeza dengan GROUP_CONCAT() MySQL?
MySQL GROUP_CONCAT() Nilai Berbeza
Apabila bekerja dengan MySQL, adalah perkara biasa untuk mengagregatkan data menggunakan fungsi GROUP_CONCAT(). Walau bagaimanapun, bagaimana jika anda perlu memastikan hasil yang digabungkan adalah berbeza?
Mari kita pertimbangkan senario berikut:
SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table;
Dengan data sampel:
categories ---------- test1 test2 test3 test4 test1 test3 test1 test3
Ini pertanyaan akan mengembalikan ujian1 ujian2 ujian3 ujian4 ujian1 ujian3. Walaupun ini termasuk semua kategori, ia tidak mengalih keluar pendua.
Untuk mendapatkan nilai yang berbeza menggunakan GROUP_CONCAT(), MySQL menyediakan atribut DISTINCT. Menambah DISTINCT pada pertanyaan memastikan bahawa hanya nilai yang berbeza digabungkan:
SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table;
Dengan menggunakan DISTINCT, nilai pendua test1 test3 dialih keluar, menghasilkan output yang diingini: test1 test2 test3 test4.
Pengubahsuaian ini bukan sahaja menghapuskan pendua tetapi juga menyusun nilai yang digabungkan dalam tertib menaik, memberikan lebih keluaran yang teratur.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Berbeza dengan GROUP_CONCAT() MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!