Postgres Group_Concat

Postgres Group Concat



Sa MySQL, ang GROUP_CONCAT function ay isang pinagsama-samang function na pinagsasama-sama ang mga halaga mula sa maraming row sa isang string. Karaniwan itong ginagamit upang i-collapse ang maraming row sa iisang row, na pinagsasama ang nauugnay na data.

Gayunpaman, hindi native na sinusuportahan ng PostgreSQL ang group_concat() function na hindi katulad ng MySQL. Samakatuwid, tinutuklas ng tutorial na ito kung paano natin makakamit ang isang katulad na functionality gamit ang string_agg() function.

PostgreSQL String_Agg Function

Ang string_agg function sa PostgreSQL ay nagbibigay-daan sa amin na pagsamahin ang mga halaga mula sa maraming row sa isang string at pinaghihiwalay ng tinukoy na parameter.







Ang paggamit ng function na syntax ay tulad ng ipinakita tulad ng sumusunod:



SELECT string_agg(column_name, delimiter)
MULA sa table_name
SAAN kundisyon
GROUP BY grouping_columns;

Ang sumusunod na syntax ay ipinahayag tulad ng sumusunod:



column_name – Tinutukoy nito ang pangalan ng column na nais nating pagdugtungin ang column.





delimiter – Tinutukoy nito ang karakter ng separator na ginagamit kapag sumasali sa mga halaga ng input.

table_name – Ang target na talahanayan na naglalaman ng data.



grouping_columns – Tinutukoy nito ang mga column na ginagamit upang igrupo ang tinukoy na data.

Halimbawa ng Pag-andar ng PostgreSQL String_Agg

Kumuha tayo ng mas praktikal na halimbawa upang ilarawan kung paano gumagana ang function. Ipagpalagay na mayroon kaming isang talahanayan na naglalaman ng impormasyon ng mag-aaral. Ang talahanayan ay naglalaman ng tatlong column: id, pangalan, at paksa.

Kung nais naming pagsamahin ang mga pangalan ng mga mag-aaral na nag-enroll sa parehong paksa, maaari naming gamitin ang string_agg function.

PUMILI ng paksa, string_agg ( pangalan, ',' ) BILANG mag-aaral
MULA sa mga mag-aaral
GROUP BY subject;

Sa sandaling patakbuhin namin ang ibinigay na query, dapat itong magbalik ng set ng resulta na may dalawang pangunahing column: ang paksa at ang mga mag-aaral. Ang mga mag-aaral ay naglalaman ng mga pinagsama-samang pangalan ng mga mag-aaral para sa bawat paksa at pinaghihiwalay ng kuwit.

TANDAAN : Ang string_agg function ay nag-uuri ng mga pinagsama-samang halaga bilang default. Maaari kang magdagdag ng ORDER BY clause sa loob ng string_agg function upang mapanatili ang orihinal na pagkakasunud-sunod.

Ayan na! Isang prangka at mahusay na paraan ng pagkamit ng katulad na pagpapagana na ibinigay ng group_concat() function sa PostgreSQL.

Konklusyon

Sa maikli ngunit epektibong tutorial na ito, natutunan namin kung paano gamitin ang string_agg function sa PostgreSQL para makamit ang katulad na functionality na ibinigay ng group_concat() function sa MySQL.