PostgreSQL Crosstab মডিউলের সাথে কাজ করা
আপনি কীভাবে আপনার ডেটা উপস্থাপন করতে চান তা নির্দিষ্ট করার জন্য একটি ঘর থাকা সুবিধাজনক। PostgreSQL এর সাথে, যদিও ডিফল্ট উপায় হল ডাটা টেবুলার আকারে, ক্রসট্যাব মডিউল আপনাকে অন্য বিকল্প দেয়। আপনি একটি ভাল উপস্থাপনার জন্য একটি PostgreSQL টেবিল থেকে 'নির্বাচন' কলাম ব্যবহার করে পিভট টেবিল তৈরি করতে পারেন।
আশ্চর্যজনক বৈশিষ্ট্যটি PostgreSQL সংস্করণ 8.3 এর জন্য একটি এক্সটেনশন হিসাবে আসে। 'tablefunc' এক্সটেনশন ক্রসট্যাব ফাংশন অফার করে, এটি আপনার ফলাফল সেট হিসাবে পিভট টেবিল রাখা সম্ভব করে তোলে। একটি উদাহরণ দেওয়া যাক।
প্রথমত, আমরা নিম্নলিখিত কমান্ড ব্যবহার করে তিনটি কলাম সহ 'ফলাফল' টেবিল তৈরি করি:
তৈরি টেবিল খালি। এইভাবে, এগিয়ে যান এবং এতে মান যোগ করতে INSERT ক্যোয়ারী ব্যবহার করুন। এই ক্ষেত্রে, আমরা নিম্নলিখিত হিসাবে দেখানো হিসাবে কয়েকটি এন্ট্রি সন্নিবেশ করান:
আমরা যদি 'নির্বাচন' বিবৃতিটি চালাই, আমরা নিম্নলিখিত ফলাফলগুলি পেতে পারি। নোট পুনরুদ্ধার করার এই ডিফল্ট পদ্ধতিটি কীভাবে তাদের একটি সারণী আকারে উপস্থাপন করে। কলামগুলি হেডার হিসাবে ব্যবহৃত হয় এবং তাদের নিজ নিজ মান সারিতে প্রদর্শিত হয়:
যদিও পূর্ববর্তী পদ্ধতিটি বেশিরভাগ ক্ষেত্রে কাজ করে, একই রেকর্ড পুনরুদ্ধার করার আরেকটি বিকল্প রয়েছে। এই ক্ষেত্রে, আমরা একটি পিভট টেবিল তৈরি করতে চাই। অতএব, আমরা 'টেবিলফাঙ্ক' এক্সটেনশন ব্যবহার করি যা PostgreSQL সংস্করণ 8.3+ এর সাথে আসে।
সুতরাং, আসুন একটি 'টেবিলফাঙ্ক' এক্সটেনশন তৈরি করি যাতে আমরা এটিকে কোয়েরিতে কল করি। নিম্নলিখিত কমান্ডটি চালান:
আপনি জানতে পারবেন যে এক্সটেনশনটি সফলভাবে সক্ষম হয়েছে একবার আপনি আমাদের আগের চিত্রের মতো একটি আউটপুট পাবেন।
আমাদের ক্রসট্যাব ফাংশনের জন্য, আসুন এটি এমনভাবে তৈরি করি যে প্রথম কলামটি অনুষদ। নীচে আমাদের টেবিলে বিভিন্ন অনুষদ রয়েছে। ফ্যাকাল্টি কলামের পাশে, আমাদের অন্যান্য কলাম রয়েছে যা আমাদের টেবিলের বিভাগ কলামের বিভিন্ন মান উপস্থাপন করে। সবশেষে, প্রতিটি বিভাগের জন্য, আমাদের কাছে বিভিন্ন বিভাগ অর্জনকারী শিক্ষার্থীর সংখ্যা রয়েছে।
এই ধরনের একটি পিভট টেবিল অর্জন করতে, নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:
নির্বাচন করুন * ক্রসস্ট্যাব থেকে ( কলাম 1 নির্বাচন করুন , কলাম 2 , টেবিল_নাম থেকে কলাম 3 মানদণ্ড অনুসারে অর্ডার করুন' )AS new_name ( column1 data_type , column2 data_type , কলাম_এন ডেটা_টাইপ ) ;
আমরা যে উদাহরণ টেবিলটি তৈরি করেছি তা ব্যবহার করে আমাদের কমান্ডটি নিম্নরূপ দেখায়:
আমরা ফলাফলগুলি দেখার আগে, ক্রসট্যাব মডিউল কমান্ড কীভাবে কাজ করে তার একটি ব্রেকডাউন করা যাক। প্রথমত, SELECT স্টেটমেন্ট তিনটি কলাম প্রদান করে। প্রথম কলামটিকে সারি শনাক্তকারী হিসাবে বিবেচনা করা হয়। আমাদের ক্ষেত্রে, এটি 'অনুষদ' কলাম। দ্বিতীয় কলাম, যা 'বিভাগ' কলাম, পিভট টেবিলের জন্য বিভাগগুলি উপস্থাপন করে। অবশেষে, তৃতীয় কলামে বিভাগগুলির মান রয়েছে। আমাদের ক্ষেত্রে, এটি প্রতিটি বিভাগে শিক্ষার্থীর সংখ্যা।
এই বোঝার পরে, একবার আমরা 'এন্টার' কী টিপলে, আমরা পিভট টেবিলটি নিম্নরূপ পাই:
ফিরে আসা পিভট টেবিলের উপর ভিত্তি করে, আমরা দেখতে পাচ্ছি যে এটি একটি 2-ডি অ্যারের মতো কাজ করে যেখানে SELECT স্টেটমেন্টের প্রথম কলামটি প্রথম অ্যারে এবং দ্বিতীয় কলামটি মাত্রার দ্বিতীয় অ্যারে। তৃতীয় কলামে দ্বিতীয় অ্যারের উপাদানগুলির মান রয়েছে।
উপসংহার
পোস্টগ্রেএসকিউএল ক্রসট্যাব একটি পিভট টেবিল হিসাবে টেবিলের মানগুলি উপস্থাপন করার জন্য ভাল। ক্রসট্যাব মডিউল ব্যবহার করার জন্য আপনাকে অবশ্যই আপনার SELECT স্টেটমেন্টে তিনটি কলাম ফেরত দিতে হবে, এবং এই পোস্টটি কীভাবে এটি ব্যবহার করতে হয় তার একটি বাস্তব উদাহরণ শেয়ার করেছে। এছাড়াও, আমরা ব্যাখ্যা করেছি কিভাবে ক্রসট্যাব মডিউল পিভট টেবিল তৈরি করতে কাজ করে যা 2-ডি অ্যারের মতো একই যুক্তি ব্যবহার করে।