PostgreSQL understøtter dog ikke native group_concat()-funktionen i modsætning til MySQL. Derfor undersøger denne vejledning, hvordan vi kan opnå en lignende funktionalitet ved hjælp af string_agg()-funktionen.
PostgreSQL String_Agg funktion
String_agg-funktionen i PostgreSQL giver os mulighed for at sammenkæde værdierne fra flere rækker til en enkelt streng og er adskilt af den angivne parameter.
Funktionens syntaksbrug er vist som følger:
SELECT string_agg(kolonnenavn, afgrænsningstegn)
FRA tabelnavn
HVOR forhold
GROUP BY grouping_columns;
Følgende syntaks er udtrykt som følger:
kolonnenavn – Det angiver navnet på den kolonne, hvis kolonne vi ønsker at sammenkæde.
afgrænsning – Den definerer det separatortegn, der bruges, når inputværdierne sammenføjes.
tabelnavn – Måltabellen, der indeholder dataene.
gruppering_kolonner – Det specificerer de kolonner, der bruges til at gruppere de angivne data.
PostgreSQL String_Agg funktionseksempel
Lad os tage et mere praktisk eksempel for at illustrere, hvordan funktionen fungerer. Antag, at vi har en tabel, som indeholder elevoplysningerne. Tabellen indeholder tre kolonner: id, navn og emne.
Hvis vi ønsker at sammenkæde elevernes navne, der er tilmeldt samme fag, kan vi bruge string_agg-funktionen.
VÆLG emne, string_agg ( navn, ',' ) AS-studerendeFRA studerende
GRUPPE EFTER emne;
Når vi har kørt den givne forespørgsel, skulle den returnere et resultatsæt med to hovedkolonner: emnet og eleverne. Eleverne indeholder de sammenkædede navne på elever for hvert fag og er adskilt af et komma.
BEMÆRK : Funktionen string_agg sorterer de sammenkædede værdier som standard. Du kan tilføje en ORDER BY-klausul inde i string_agg-funktionen for at bevare den oprindelige rækkefølge.
Der har du det! En ligetil og effektiv metode til at opnå en lignende funktionalitet leveret af funktionen group_concat() i PostgreSQL.
Konklusion
I denne korte, men effektive tutorial lærte vi, hvordan man bruger string_agg-funktionen i PostgreSQL for at opnå en lignende funktionalitet, der leveres af group_concat()-funktionen i MySQL.