Postgres Group_Concat

Postgres Group Concat



I MySQL är GROUP_CONCAT-funktionen en aggregerad funktion som sammanfogar värdena från flera rader till en enda sträng. Det används vanligtvis för att komprimera flera rader till en enda rad och kombinera relaterade data.

PostgreSQL stöder dock inte inbyggt group_concat()-funktionen till skillnad från MySQL. Därför utforskar den här handledningen hur vi kan uppnå en liknande funktionalitet med funktionen string_agg().

PostgreSQL String_Agg Funktion

Funktionen string_agg i PostgreSQL tillåter oss att sammanfoga värden från flera rader till en enda sträng och separeras av den angivna parametern.







Funktionens syntaxanvändning visas enligt följande:



SELECT string_agg(kolumnnamn, avgränsare)
FRÅN tabellnamn
VAR förhållanden
GROUP BY grouping_columns;

Följande syntax uttrycks enligt följande:



kolumnnamn – Den anger namnet på den kolumn vars kolumn vi vill sammanfoga.





avgränsare – Den definierar separatortecknet som används när inmatningsvärdena sammanfogas.

tabellnamn – Måltabellen som innehåller data.



gruppering_kolumner – Den anger kolumnerna som används för att gruppera de angivna uppgifterna.

PostgreSQL String_Agg funktionsexempel

Låt oss ta ett mer praktiskt exempel för att illustrera hur funktionen fungerar. Anta att vi har en tabell som innehåller elevinformationen. Tabellen innehåller tre kolumner: id, namn och ämne.

Om vi ​​vill sammanfoga elevernas namn som skrevs in i samma ämne kan vi använda string_agg-funktionen.

VÄLJ ämne, string_agg ( namn, ',' ) AS-studenter
FRÅN studenter
GRUPPER EFTER ämne;

När vi väl kört den givna frågan bör den returnera en resultatuppsättning med två huvudkolumner: ämnet och eleverna. Eleverna innehåller sammanlänkade namn på elever för varje ämne och är åtskilda med ett kommatecken.

NOTERA : Funktionen string_agg sorterar de sammanlänkade värdena som standard. Du kan lägga till en ORDER BY-sats i string_agg-funktionen för att behålla den ursprungliga ordningen.

Där har du det! En enkel och effektiv metod för att uppnå en liknande funktionalitet som tillhandahålls av funktionen group_concat() i PostgreSQL.

Slutsats

I denna korta men effektiva handledning lärde vi oss hur man använder funktionen string_agg i PostgreSQL för att uppnå en liknande funktionalitet som tillhandahålls av funktionen group_concat() i MySQL.