Postgres Group_Concat

Postgres Group Concat



A MySQL-ben a GROUP_CONCAT függvény egy összesítő függvény, amely több sorból származó értékeket egyetlen karakterláncba fűzi össze. Általában arra használják, hogy több sort egyetlen sorba csukjanak össze, összekapcsolva a kapcsolódó adatokat.

A PostgreSQL azonban natívan nem támogatja a group_concat() függvényt, ellentétben a MySQL-lel. Ezért ez az oktatóanyag azt vizsgálja, hogyan érhetünk el hasonló funkcionalitást a string_agg() függvény használatával.

PostgreSQL String_Agg függvény

A PostgreSQL string_agg függvénye lehetővé teszi, hogy több sorból származó értékeket egyetlen karakterláncba fűzzünk össze, és a megadott paraméter választja el egymástól.







A függvény szintaxis használatának bemutatása a következő:



SELECT string_agg(oszlopnév, határoló)
FROM tábla_neve
HOL feltételek
GROUP BY csoportosítás_oszlopok;

A következő szintaxist a következőképpen fejezzük ki:



oszlop_neve – Megadja annak az oszlopnak a nevét, amelynek oszlopát össze akarjuk fűzni.





határoló – Meghatározza a bemeneti értékek összekapcsolásakor használt elválasztó karaktert.

táblázat_neve – Az adatokat tartalmazó céltábla.



csoportosítás_oszlopok – Meghatározza azokat az oszlopokat, amelyek a megadott adatok csoportosítására szolgálnak.

Példa a PostgreSQL String_Agg függvényre

Vegyünk egy gyakorlatiasabb példát a függvény működésének szemléltetésére. Tegyük fel, hogy van egy táblázatunk, amely a tanulói információkat tartalmazza. A táblázat három oszlopot tartalmaz: azonosító, név és tárgy.

Ha össze akarjuk kapcsolni az azonos tárgyból beiratkozott hallgatók nevét, használhatjuk a string_agg függvényt.

SELECT tárgy, string_agg ( név, ',' ) AS hallgatók
A diákoktól
GROUP BY tantárgyak szerint;

Az adott lekérdezés futtatása után egy eredményhalmazt kell visszaadnia két fő oszloppal: a tárgy és a hallgatók. A tanulók az egyes tárgyakhoz tartozó tanulók összefűzött neveit tartalmazzák, és vesszővel vannak elválasztva.

JEGYZET : A string_agg függvény alapértelmezés szerint rendezi az összefűzött értékeket. Az eredeti sorrend megőrzéséhez hozzáadhat egy ORDER BY záradékot a string_agg függvényen belül.

Tessék, itt van! Egy egyszerű és hatékony módszer hasonló funkcionalitás elérésére, amelyet a group_concat() függvény biztosít a PostgreSQL-ben.

Következtetés

Ebben a rövid, de hatékony oktatóanyagban megtanultuk, hogyan használhatjuk a string_agg függvényt a PostgreSQL-ben, hogy a MySQL-ben a group_concat() függvény által biztosított hasonló funkcionalitást érjük el.