Grup Postgres_Concat

Grup Postgres Concat



Di MySQL, fungsi GROUP_CONCAT adalah fungsi agregat yang menggabungkan nilai dari beberapa baris menjadi satu string. Ini biasanya digunakan untuk menciutkan beberapa baris menjadi satu baris, menggabungkan data terkait.

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 AS
DARI 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.