যাইহোক, PostgreSQL নেটিভভাবে MySQL এর মত group_concat() ফাংশন সমর্থন করে না। অতএব, এই টিউটোরিয়ালটি অন্বেষণ করে কিভাবে আমরা string_agg() ফাংশন ব্যবহার করে অনুরূপ কার্যকারিতা অর্জন করতে পারি।
PostgreSQL String_Agg ফাংশন
PostgreSQL-এর string_agg ফাংশন আমাদেরকে একাধিক সারি থেকে একটি একক স্ট্রিং-এ মানগুলিকে একত্রিত করতে দেয় এবং নির্দিষ্ট প্যারামিটার দ্বারা আলাদা করা হয়।
ফাংশন সিনট্যাক্স ব্যবহার নিম্নরূপ প্রদর্শিত হয়:
স্ট্রিং_এগ (কলাম_নাম, বিভেদক) নির্বাচন করুন
টেবিল_নাম থেকে
যেখানে শর্ত
গ্রুপিং_কলাম দ্বারা GROUP;
নিম্নলিখিত সিনট্যাক্স নিম্নলিখিত হিসাবে প্রকাশ করা হয়:
কলাম_নাম - এটি সেই কলামের নাম উল্লেখ করে যার কলাম আমরা সংযুক্ত করতে চাই।
ডিলিমিটার - এটি ইনপুট মান যোগ করার সময় ব্যবহৃত বিভাজক অক্ষর সংজ্ঞায়িত করে।
টেবিল_নাম - টার্গেট টেবিল যা ডেটা ধারণ করে।
গ্রুপিং_কলাম - এটি নির্দিষ্ট ডেটা গ্রুপ করতে ব্যবহৃত কলামগুলি নির্দিষ্ট করে।
PostgreSQL String_Agg ফাংশন উদাহরণ
ফাংশনটি কীভাবে কাজ করে তা বোঝানোর জন্য আমাদের আরও ব্যবহারিক উদাহরণ নেওয়া যাক। ধরুন আমাদের একটি টেবিল আছে যাতে ছাত্রদের তথ্য রয়েছে। টেবিলে তিনটি কলাম রয়েছে: আইডি, নাম এবং বিষয়।
আমরা যদি একই বিষয়ে নথিভুক্ত ছাত্রদের নাম সংযুক্ত করতে চাই, আমরা string_agg ফাংশন ব্যবহার করতে পারি।
বিষয় নির্বাচন করুন, string_agg ( নাম ',' ) এএস ছাত্রছাত্রদের থেকে
বিষয় অনুসারে গ্রুপ;
একবার আমরা প্রদত্ত ক্যোয়ারীটি চালালে, এটি দুটি প্রধান কলাম সহ একটি ফলাফল সেট ফিরিয়ে দেবে: বিষয় এবং শিক্ষার্থী। শিক্ষার্থীদের প্রতিটি বিষয়ের জন্য ছাত্রদের একত্রিত নাম থাকে এবং একটি কমা দ্বারা পৃথক করা হয়।
বিঃদ্রঃ : string_agg ফাংশন ডিফল্টরূপে সংযুক্ত মানগুলিকে সাজায়। মূল ক্রম বজায় রাখতে আপনি string_agg ফাংশনের ভিতরে একটি ORDER BY ক্লজ যোগ করতে পারেন।
সেখানে আপনি এটা আছে! PostgreSQL-এ group_concat() ফাংশন দ্বারা প্রদত্ত অনুরূপ কার্যকারিতা অর্জনের একটি সরল এবং কার্যকর পদ্ধতি।
উপসংহার
এই সংক্ষিপ্ত কিন্তু কার্যকর টিউটোরিয়ালে, আমরা শিখেছি কিভাবে MySQL-এ group_concat() ফাংশন দ্বারা প্রদত্ত অনুরূপ কার্যকারিতা অর্জন করতে PostgreSQL-এ string_agg ফাংশন ব্যবহার করতে হয়।