PostgreSQL ei toeta aga erinevalt MySQL-ist funktsiooni group_concat(). Seetõttu uurib see õpetus, kuidas saaksime funktsiooni string_agg() abil saavutada sarnase funktsiooni.
PostgreSQL String_Agg funktsioon
PostgreSQL-i funktsioon string_agg võimaldab meil liita mitme rea väärtused üheks stringiks ja see eraldatakse määratud parameetriga.
Funktsiooni süntaksi kasutamine on näidatud järgmiselt:
SELECT string_agg(veeru_nimi, eraldaja)
FROM tabeli_nimi
KUS tingimused
GROUP BY rühmitamise_veerud;
Järgmine süntaks on väljendatud järgmiselt:
veeru_nimi – See määrab veeru nime, mille veergu soovime ühendada.
piiritleja – See määrab eraldusmärgi, mida kasutatakse sisendväärtuste ühendamisel.
tabeli_nimi – sihttabel, mis sisaldab andmeid.
rühmitamine_veerud – See määrab veerud, mida kasutatakse määratud andmete rühmitamiseks.
PostgreSQL String_Agg funktsiooni näide
Toome funktsiooni toimimise illustreerimiseks praktilisema näite. Oletame, et meil on tabel, mis sisaldab õpilase teavet. Tabel sisaldab kolme veergu: id, nimi ja teema.
Kui soovime ühendada samasse ainesse registreerunud õpilaste nimed, saame kasutada funktsiooni string_agg.
SELECT teema, string_agg ( nimi, ',' ) AS õpilasedõpilastelt
GROUP BY BY;
Kui oleme antud päringu käivitanud, peaks see tagastama kahe peamise veeruga tulemuste komplekti: aine ja õpilased. Õpilased sisaldavad iga õppeaine õpilaste liitnimesid ja on eraldatud komaga.
MÄRGE : Funktsioon string_agg sorteerib ühendatud väärtused vaikimisi. Algse järjestuse säilitamiseks saate funktsiooni string_agg sisse lisada klausli ORDER BY.
Siin on see! Lihtne ja tõhus meetod sarnase funktsiooni saavutamiseks, mida pakub PostgreSQL-i funktsioon group_concat().
Järeldus
Selles lühikeses, kuid tõhusas õpetuses õppisime, kuidas kasutada PostgreSQL-is funktsiooni string_agg, et saavutada MySQL-i funktsioon group_concat() sarnane funktsionaalsus.