PostgreSQL ondersteunt echter niet standaard de functie group_concat() in tegenstelling tot MySQL. Daarom onderzoekt deze tutorial hoe we een vergelijkbare functionaliteit kunnen bereiken met behulp van de string_agg() functie.
PostgreSQL String_Agg-functie
De string_agg-functie in PostgreSQL stelt ons in staat om de waarden van meerdere rijen samen te voegen tot een enkele string en wordt gescheiden door de opgegeven parameter.
Het gebruik van de functiesyntaxis wordt als volgt gedemonstreerd:
SELECT string_agg(kolom_naam, scheidingsteken)
VAN tafelnaam
WAAR voorwaarden
GROEPEREN OP groeperingskolommen;
De volgende syntaxis wordt als volgt uitgedrukt:
kolomnaam - Het specificeert de naam van de kolom waarvan we de kolom willen samenvoegen.
scheidingsteken – Het definieert het scheidingsteken dat wordt gebruikt bij het samenvoegen van de invoerwaarden.
tafel naam – De doeltabel die de gegevens bevat.
groepering_kolommen - Het specificeert de kolommen die worden gebruikt om de opgegeven gegevens te groeperen.
Voorbeeld van PostgreSQL String_Agg-functie
Laten we een meer praktisch voorbeeld nemen om te illustreren hoe de functie werkt. Stel dat we een tabel hebben met daarin de studentgegevens. De tabel bevat drie kolommen: id, naam en onderwerp.
Als we de namen van de studenten die zich voor hetzelfde vak hebben ingeschreven, willen samenvoegen, kunnen we de functie string_agg gebruiken.
SELECTEER onderwerp, string_agg ( naam, ',' ) AS studentenVAN studenten
GROEP PER onderwerp;
Nadat we de gegeven query hebben uitgevoerd, zou deze een resultatenset moeten retourneren met twee hoofdkolommen: het onderwerp en de studenten. De studenten bevatten de aaneengeschakelde namen van studenten voor elk vak en worden gescheiden door een komma.
OPMERKING : De functie string_agg sorteert standaard de samengevoegde waarden. U kunt een ORDER BY-clausule in de string_agg-functie toevoegen om de oorspronkelijke volgorde te behouden.
Daar heb je het! Een eenvoudige en efficiënte methode om een vergelijkbare functionaliteit te bereiken die wordt geboden door de functie group_concat() in PostgreSQL.
Conclusie
In deze korte maar effectieve tutorial hebben we geleerd hoe we de string_agg-functie in PostgreSQL kunnen gebruiken om een vergelijkbare functionaliteit te bereiken die wordt geboden door de group_concat()-functie in MySQL.