Postgres Group_Concat

Postgres Group Concat



MySQL میں، GROUP_CONCAT فنکشن ایک مجموعی فنکشن ہے جو متعدد قطاروں کی اقدار کو ایک سٹرنگ میں جوڑتا ہے۔ یہ عام طور پر متعلقہ ڈیٹا کو یکجا کرتے ہوئے متعدد قطاروں کو ایک قطار میں سمیٹنے کے لیے استعمال کیا جاتا ہے۔

تاہم، PostgreSQL مقامی طور پر MySQL کے برعکس group_concat() فنکشن کی حمایت نہیں کرتا ہے۔ لہذا، یہ ٹیوٹوریل اس بات کی کھوج کرتا ہے کہ ہم string_agg() فنکشن کا استعمال کرکے اسی طرح کی فعالیت کیسے حاصل کرسکتے ہیں۔

PostgreSQL String_Agg فنکشن

PostgreSQL میں string_agg فنکشن ہمیں متعدد قطاروں سے اقدار کو ایک سٹرنگ میں جوڑنے کی اجازت دیتا ہے اور اسے مخصوص پیرامیٹر سے الگ کیا جاتا ہے۔







فنکشن نحو کے استعمال کو اس طرح دکھایا گیا ہے:



سلیکٹ_ایج (کالم_نام، حد بندی)
ٹیبل_نام سے
جہاں حالات
گروپ بذریعہ گروپ بندی_کالم؛

مندرجہ ذیل نحو کا اظہار اس طرح کیا گیا ہے:



کالم_نام - یہ اس کالم کا نام بتاتا ہے جس کے کالم کو ہم جوڑنا چاہتے ہیں۔





حد بندی کرنے والا - یہ الگ کرنے والے کردار کی وضاحت کرتا ہے جو ان پٹ اقدار میں شامل ہونے کے وقت استعمال ہوتا ہے۔

ٹیبل_نام - ہدف کی میز جس میں ڈیٹا ہوتا ہے۔



گروپ بندی_کالم - یہ ان کالموں کی وضاحت کرتا ہے جو مخصوص ڈیٹا کو گروپ کرنے کے لیے استعمال ہوتے ہیں۔

PostgreSQL String_Agg فنکشن کی مثال

آئیے یہ واضح کرنے کے لیے ایک اور عملی مثال لیتے ہیں کہ فنکشن کیسے کام کرتا ہے۔ فرض کریں کہ ہمارے پاس ایک ٹیبل ہے جس میں طلباء کی معلومات ہیں۔ جدول میں تین کالم ہیں: id، نام اور موضوع۔

اگر ہم ایک ہی مضمون میں داخلہ لینے والے طلباء کے ناموں کو جوڑنا چاہتے ہیں تو ہم string_agg فنکشن استعمال کر سکتے ہیں۔

موضوع منتخب کریں، string_agg ( نام '،' ) AS طلباء
طلباء سے
مضمون کے لحاظ سے گروپ؛

ایک بار جب ہم دی گئی استفسار کو چلاتے ہیں، تو اسے دو اہم کالموں کے ساتھ ایک نتیجہ سیٹ واپس کرنا چاہیے: موضوع اور طلبہ۔ طلباء میں ہر مضمون کے لیے طلباء کے جمع کردہ نام ہوتے ہیں اور انہیں کوما سے الگ کیا جاتا ہے۔

نوٹ : string_agg فنکشن مربوط اقدار کو بطور ڈیفالٹ ترتیب دیتا ہے۔ آپ اصل ترتیب کو برقرار رکھنے کے لیے string_agg فنکشن کے اندر ORDER BY شق شامل کر سکتے ہیں۔

وہاں آپ کے پاس ہے! PostgreSQL میں group_concat() فنکشن کے ذریعے فراہم کردہ اسی طرح کی فعالیت کو حاصل کرنے کا ایک سیدھا اور موثر طریقہ۔

نتیجہ

اس مختصر لیکن موثر ٹیوٹوریل میں، ہم نے یہ سیکھا کہ PostgreSQL میں string_agg فنکشن کو کس طرح استعمال کرنا ہے تاکہ MySQL میں گروپ_کونکاٹ() فنکشن کے ذریعہ فراہم کردہ اسی طرح کی فعالیت حاصل کی جاسکے۔