Di MariaDB, kita dapat menggunakan GROUP_CONCAT()
berfungsi untuk mengembalikan hasil kueri kami sebagai daftar yang dipisahkan koma. Maksud saya, untuk kolom tertentu, kita dapat mengonversi semua baris menjadi satu baris yang berisi daftar nilai yang dipisahkan koma yang membentuk kolom itu. Setiap baris adalah item terpisah dalam daftar.
Contoh
Misalkan kita menjalankan kueri berikut:
SELECT meal
FROM guest_meals;
Hasil:
+---------+ | meal | +---------+ | Salad | | Fish | | Burrito | | Pasta | | Salad | | Salad | +---------+ 6 rows in set (0.001 sec)
Kueri itu menghasilkan enam baris.
Kita dapat mengubah baris-baris tersebut menjadi satu baris yang dipisahkan koma seperti ini:
SELECT GROUP_CONCAT(meal)
FROM guest_meals;
Hasil:
+--------------------------------------+ | GROUP_CONCAT(meal) | +--------------------------------------+ | Salad,Fish,Burrito,Pasta,Salad,Salad | +--------------------------------------+ 1 row in set (0.003 sec)
Ubah Pembatas
Kita dapat menentukan pemisah kita sendiri dengan meneruskannya ke fungsi, diawali dengan SEPARATOR
kata kunci:
SELECT GROUP_CONCAT(meal SEPARATOR ' + ')
FROM guest_meals;
Hasil:
Salad + Fish + Burrito + Pasta + Salad + Salad
Mengurutkan Hasil
Kami dapat memesan hasilnya dengan menggunakan ORDER BY
klausa dalam fungsi:
SELECT GROUP_CONCAT(meal ORDER BY meal ASC)
FROM guest_meals;
Hasil:
Burrito,Fish,Pasta,Salad,Salad,Salad
Hanya Mengembalikan Nilai Unik
Kita dapat menggunakan DISTINCT
klausa untuk mengembalikan hanya nilai unik:
SELECT GROUP_CONCAT(DISTINCT meal ORDER BY meal ASC)
FROM guest_meals;
Hasil:
Burrito,Fish,Pasta,Salad
Batasi Hasil
Kita dapat menggunakan LIMIT
klausa untuk membatasi jumlah item dalam daftar:
SELECT GROUP_CONCAT(DISTINCT meal ORDER BY meal ASC LIMIT 3)
FROM guest_meals;
Hasil:
Burrito,Fish,Pasta
Kueri yang Dikelompokkan
GROUP_CONCAT()
fungsi dapat berguna saat menjalankan kueri yang dikelompokkan. Lihat MariaDB GROUP_CONCAT()
sebagai contoh.