Postgres Group_Concat

Postgres Group Concat



U MySQL-u, funkcija GROUP_CONCAT je skupna funkcija koja povezuje vrijednosti iz više redaka u jedan niz. Obično se koristi za sažimanje više redaka u jedan red, kombinirajući povezane podatke.

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 studenti
OD 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.