Namun, PostgreSQL tidak secara native mendukung fungsi group_concat() tidak seperti MySQL. Oleh karena itu, tutorial ini mengeksplorasi bagaimana kita dapat mencapai fungsionalitas serupa dengan menggunakan fungsi string_agg().
Fungsi PostgreSQL String_Agg
Fungsi string_agg di PostgreSQL memungkinkan kita menggabungkan nilai dari beberapa baris menjadi satu string dan dipisahkan oleh parameter yang ditentukan.
Penggunaan sintaks fungsi ditunjukkan sebagai berikut:
PILIH string_agg(nama_kolom, pembatas)
DARI nama_tabel
kondisi WHERE
GROUP BY grouping_columns;
Sintaks berikut diungkapkan sebagai berikut:
nama kolom – Ini menentukan nama kolom yang kolomnya ingin kita gabungkan.
pembatas – Ini mendefinisikan karakter pemisah yang digunakan saat menggabungkan nilai input.
table_name – Tabel target yang berisi data.
pengelompokan_kolom – Ini menentukan kolom yang digunakan untuk mengelompokkan data yang ditentukan.
Contoh Fungsi PostgreSQL String_Agg
Mari kita ambil contoh yang lebih praktis untuk mengilustrasikan cara kerja fungsi. Misalkan kita memiliki tabel yang berisi informasi siswa. Tabel berisi tiga kolom: id, nama, dan subjek.
Jika kita ingin menggabungkan nama siswa yang mengambil mata pelajaran yang sama, kita dapat menggunakan fungsi string_agg.
PILIH subjek, string_agg ( nama, ',' ) mahasiswa ASDARI siswa
KELOMPOK OLEH subjek;
Setelah kita menjalankan kueri yang diberikan, kueri tersebut akan mengembalikan kumpulan hasil dengan dua kolom utama: subjek dan siswa. Siswa berisi gabungan nama siswa untuk setiap mata pelajaran dan dipisahkan dengan koma.
CATATAN : Fungsi string_agg mengurutkan nilai gabungan secara default. Anda dapat menambahkan klausa ORDER BY di dalam fungsi string_agg untuk mempertahankan urutan aslinya.
Itu dia! Metode langsung dan efisien untuk mencapai fungsionalitas serupa yang disediakan oleh fungsi group_concat() di PostgreSQL.
Kesimpulan
Dalam tutorial singkat namun efektif ini, kita belajar bagaimana menggunakan fungsi string_agg di PostgreSQL untuk mencapai fungsi serupa yang disediakan oleh fungsi group_concat() di MySQL.