Postgres Group_Concat

Postgres Group Concat



Programmā MySQL funkcija GROUP_CONCAT ir apkopojoša funkcija, kas vairāku rindu vērtības apvieno vienā virknē. To parasti izmanto, lai sakļautu vairākas rindas vienā rindā, apvienojot saistītos datus.

Tomēr PostgreSQL sākotnēji neatbalsta grupu_concat() funkciju atšķirībā no MySQL. Tāpēc šajā apmācībā ir izpētīts, kā mēs varam sasniegt līdzīgu funkcionalitāti, izmantojot funkciju string_agg().

PostgreSQL String_Agg funkcija

PostgreSQL funkcija string_agg ļauj mums vairāku rindu vērtības apvienot vienā virknē, un to atdala ar norādīto parametru.







Funkciju sintakses lietojums ir parādīts šādi:



SELECT string_agg(kolonnas_nosaukums, atdalītājs)
NO tabulas_nosaukums
KUR nosacījumi
GROUP BY grupēšanas_kolonnas;

Šī sintakse ir izteikta šādi:



kolonnas_nosaukums – Tas norāda kolonnas nosaukumu, kuras kolonnu mēs vēlamies savienot.





norobežotājs – Tas nosaka atdalīšanas rakstzīmi, kas tiek izmantota, savienojot ievades vērtības.

tabulas_nosaukums – mērķa tabula, kurā ir dati.



grupēšana_kolonnas – Tas norāda kolonnas, kas tiek izmantotas norādīto datu grupēšanai.

PostgreSQL String_Agg funkcijas piemērs

Ņemsim praktiskāku piemēru, lai ilustrētu, kā funkcija darbojas. Pieņemsim, ka mums ir tabula, kurā ir informācija par studentu. Tabulā ir trīs kolonnas: id, nosaukums un tēma.

Ja vēlamies saistīt to skolēnu vārdus, kuri iestājās tajā pašā priekšmetā, varam izmantot funkciju string_agg.

ATLASĪT tēmu, string_agg ( vārds, ',' ) AS studenti
NO studentiem
GROUP BY BY;

Kad tiek izpildīts dotais vaicājums, tam jāatgriež rezultātu kopa ar divām galvenajām kolonnām: priekšmets un studenti. Studenti satur sasaistītus studentu vārdus katram priekšmetam un ir atdalīti ar komatu.

PIEZĪME : funkcija string_agg pēc noklusējuma kārto sasaistītās vērtības. Lai saglabātu sākotnējo secību, funkcijā string_agg varat pievienot klauzulu ORDER BY.

Tur jums tas ir! Vienkārša un efektīva metode līdzīgas funkcionalitātes sasniegšanai, ko nodrošina PostgreSQL funkcija group_concat().

Secinājums

Šajā īsajā, bet efektīvajā apmācībā mēs uzzinājām, kā PostgreSQL izmantot funkciju string_agg, lai sasniegtu līdzīgu funkcionalitāti, ko nodrošina funkcija group_concat() MySQL.