Postgres Group_Concat

Postgres Group Concat



I MySQL er GROUP_CONCAT-funksjonen en aggregert funksjon som setter sammen verdiene fra flere rader til en enkelt streng. Det brukes ofte til å kollapse flere rader til en enkelt rad, ved å kombinere relaterte data.

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-studenter
FRA 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.