Međutim, PostgreSQL izvorno ne podržava funkciju group_concat() za razliku od MySQL-a. Stoga ovaj vodič istražuje kako možemo postići sličnu funkcionalnost pomoću funkcije string_agg().
Funkcija PostgreSQL String_Agg
Funkcija string_agg u PostgreSQL-u omogućuje spajanje vrijednosti iz više redaka u jedan niz i odvojen je navedenim parametrom.
Upotreba sintakse funkcije prikazana je na sljedeći način:
SELECT string_agg(ime_stupca, razdjelnik)
FROM naziv_tablice
GDJE uvjeti
GROUP BY grupiranje_stupaca;
Sljedeća sintaksa je izražena na sljedeći način:
naziv_stupca – Određuje naziv stupca čiji stupac želimo ulančati.
graničnik – Definira znak razdjelnika koji se koristi prilikom spajanja ulaznih vrijednosti.
naziv_tablice – Ciljna tablica koja sadrži podatke.
grupiranje_stupaca – Određuje stupce koji se koriste za grupiranje navedenih podataka.
Primjer PostgreSQL String_Agg funkcije
Uzmimo praktičniji primjer da ilustriramo kako funkcija radi. Pretpostavimo da imamo tablicu koja sadrži informacije o studentima. Tablica sadrži tri stupca: ID, naziv i predmet.
Ako želimo spojiti imena učenika koji su upisali isti predmet, možemo koristiti funkciju string_agg.
SELECT subjekt, string_agg ( Ime, ',' ) AS studentiOD učenika
GROUP BY predmet;
Nakon što pokrenemo zadani upit, trebao bi vratiti skup rezultata s dva glavna stupca: predmet i studenti. Studenti sadrže spojena imena učenika za svaki predmet i odvojena su zarezom.
BILJEŠKA : Funkcija string_agg sortira spojene vrijednosti prema zadanim postavkama. Možete dodati klauzulu ORDER BY unutar funkcije string_agg kako biste zadržali izvorni redoslijed.
Eto ga! Jednostavna i učinkovita metoda za postizanje slične funkcionalnosti koju pruža funkcija group_concat() u PostgreSQL-u.
Zaključak
U ovom kratkom, ali učinkovitom vodiču, naučili smo kako koristiti funkciju string_agg u PostgreSQL-u da postignemo sličnu funkcionalnost koju pruža funkcija group_concat() u MySQL-u.