PostgreSQL støtter imidlertid ikke funksjonen group_concat() i motsetning til MySQL. Derfor utforsker denne opplæringen hvordan vi kan oppnå en lignende funksjonalitet ved å bruke string_agg()-funksjonen.
PostgreSQL String_Agg funksjon
String_agg-funksjonen i PostgreSQL lar oss sette sammen verdiene fra flere rader til en enkelt streng og er atskilt med den angitte parameteren.
Funksjonssyntaksbruken er vist som følger:
SELECT string_agg(kolonnenavn, skilletegn)
FRA tabellnavn
HVOR forhold
GROUP BY grouping_columns;
Følgende syntaks er som uttrykt som følger:
kolonnenavn – Den spesifiserer navnet på kolonnen hvis kolonne vi ønsker å sette sammen.
skilletegn – Den definerer skilletegnet som brukes ved sammenføyning av inngangsverdiene.
tabellnavn – Måltabellen som inneholder dataene.
gruppering_kolonner – Den spesifiserer kolonnene som brukes til å gruppere de angitte dataene.
PostgreSQL String_Agg funksjonseksempel
La oss ta et mer praktisk eksempel for å illustrere hvordan funksjonen fungerer. Anta at vi har en tabell som inneholder elevinformasjonen. Tabellen inneholder tre kolonner: id, navn og emne.
Hvis vi ønsker å sette sammen elevenes navn som meldte seg på samme emne, kan vi bruke string_agg-funksjonen.
VELG emne, string_agg ( Navn, ',' ) AS-studenterFRA studenter
GRUPPE ETTER emne;
Når vi har kjørt den gitte spørringen, skal den returnere et resultatsett med to hovedkolonner: emnet og studentene. Elevene inneholder sammenkoblede navn på elever for hvert emne og er atskilt med komma.
MERK : String_agg-funksjonen sorterer de sammenkoblede verdiene som standard. Du kan legge til en ORDER BY-klausul i string_agg-funksjonen for å opprettholde den opprinnelige rekkefølgen.
Der har du det! En enkel og effektiv metode for å oppnå en lignende funksjonalitet levert av group_concat()-funksjonen i PostgreSQL.
Konklusjon
I denne korte, men effektive opplæringen lærte vi hvordan du bruker string_agg-funksjonen i PostgreSQL for å oppnå en lignende funksjonalitet levert av group_concat()-funksjonen i MySQL.