Postgresql গ্রুপ দ্বারা

Postgresql Grupa Dbara



Postgresql group by clause হল এমন একটি বৈশিষ্ট্য যা টেবিলের সেই সারিগুলিকে একত্রিত/একত্রিত করতে ব্যবহৃত হয় যেগুলির ডেটা একই থাকে। এই ধারাটি প্রধানত ডুপ্লিকেট ডেটা অপসারণ করতে এবং সঙ্গতি বজায় রাখতে ব্যবহৃত হয়। যখনই আমরা যোগফল গণনা করতে চাই, বা AVG ইত্যাদির মতো অন্য কোনো সমষ্টি, এই গোষ্ঠীটি সর্বদা ব্যবহার করা হয় কারণ PostgreSQL-এ অনেকগুলি ধারা ব্যবহার করা হয়েছে। কিন্তু প্রতিটি ধারার মধ্যে একটি অনুক্রম বিদ্যমান।

থেকে > কোথা থেকে > “গ্রুপ দ্বারা” > থাকা > নির্বাচন > স্বতন্ত্র > ক্রম অনুসারে > সীমা

PostgreSQL এর কাজ 'কোথায়' এবং 'হচ্ছে' ধারার মধ্যে রয়েছে।







বাক্য গঠন



কলাম নির্বাচন করুন

dumytable থেকে

কোথায় [শর্তগুলি]

প্রথম কলাম, দ্বিতীয় কলাম দ্বারা গ্রুপ করুন..

প্রথম কলাম, দ্বিতীয় কলাম দ্বারা অর্ডার করুন.. ;

উদাহরণ 1



ফাংশন দ্বারা গোষ্ঠীর ধারণা বোঝার জন্য, আমরা এখানে একটি উদাহরণ ব্যবহার করি। যাত্রীদের টেবিলে, আপনি দেখতে পাচ্ছেন যে কিছু লোকের শেষ নাম একই। প্রতিটি নাম যা অন্যের মতো একটি গ্রুপ গঠন করে এবং তাদের অর্থপ্রদান সম্মিলিতভাবে প্রতিটি একই নামের বিপরীতে যোগ করা হয়। এটি নীচের উদাহরণে বিশদভাবে ব্যাখ্যা করা হয়েছে।





>> যাত্রী GROUP BY lname থেকে lname, SUM (পেমেন্ট) নির্বাচন করুন;

যাত্রীর শেষ নাম একটি অন্তর্নির্মিত ফাংশন 'SUM' ব্যবহার করে নির্বাচন করা হয় যা 'পেমেন্ট' কলাম নেয়। এবং একই নাম থাকা লোকেদের জন্য অর্থপ্রদান যোগ করুন। উদাহরণস্বরূপ, 'জাভেদ' এবং 'সাদ' এর বেতন যোগ করা হয়েছে। যেখানে 'মালিক' এবং 'শামস' এর জন্য পৃথকভাবে উল্লেখ করা হয়েছে।



একইভাবে, একটি টেবিল 'হাসপাতাল' বিবেচনা করুন। আমরা বয়সের জন্য শহরকে গ্রুপ করতে চাই। এই উদাহরণে, একটি শহর একটি কলামে একাধিকবার বিদ্যমান। প্রতিটি শহর একই শহরের নামের সাথে গ্রুপ করা হয়। শহরের প্রতিটি গ্রুপের বয়স যোগ করা হয় এবং একটি একক সারি তৈরি করা হয়।

হাসপাতাল:

>> শহর নির্বাচন করুন, SUM (বয়স) হাসপাতাল থেকে GROUP BY শহরের;

উদাহরণ 2

বিকল্পভাবে, আমরা যদি টেবিল যাত্রী থেকে আইডি সহ শেষ নাম নির্বাচন করি, তাহলে ফলাফলটি একটি ভিন্ন টেবিল হবে। কারণ যখন আমরা উভয় কলামকে একত্রে গোষ্ঠীবদ্ধ করি, তখন এটি প্রতিটি যাত্রীর নাম প্রদর্শন করবে কারণ প্রতিটি যাত্রীর আইডি, এমনকি একটি সাধারণ পদবিও আলাদা। যোগফল একটি পৃথক কলামে গণনা করা হয়, তবে প্রতিটি যাত্রীর অর্থপ্রদান তার নামের সামনে উল্লেখ করা হয় কারণ এখানে নামের গ্রুপিং করা হয়নি।

এটি একাধিক কলাম সহ ধারা দ্বারা গোষ্ঠীর একটি উদাহরণ। কারণ যখন একাধিক কলাম গোষ্ঠীবদ্ধ করার জন্য নির্বাচন করা হয়, তখন ফলাফলের মান একটি একক টেবিল দ্বারা গোষ্ঠীর তুলনায় পরিবর্তিত হয়।

>> যাত্রী GROUP BY id, lname থেকে id, lname, SUM (পেমেন্ট) নির্বাচন করুন;

আউটপুট থেকে, আপনি একটি জিনিস লক্ষ্য করবেন যে প্রথমত, অস্বাভাবিক সমস্ত নামগুলি প্রদর্শিত হয় এবং তারপরে যারা একই তাদের টেবিলে উল্লেখ করা হয়।

উদাহরণ 3

এই উদাহরণে একটি যোগদানের শর্ত এবং ধারা অনুসারে একটি গ্রুপ রয়েছে। যেহেতু 'join' ব্যবহার করা হয়েছে, তার মানে আমরা এখানে দুটি টেবিল ব্যবহার করেছি। একটি হল 'আইটেম', এবং অন্যটি 'অর্ডার'।

আইটেম:

আদেশ:

আমরা একটি সংযোজন পদ্ধতি ব্যবহার করেছি (দুটি স্ট্রিং যোগ করতে ব্যবহৃত) “আইটেম” টেবিলের দুটি কলামের মান “,” এর সাথে যোগ করতে এবং কলামটিকে সম্মিলিতভাবে “বর্ণনা” হিসাবে নামকরণ করেছি। এটা ঐচ্ছিক; আপনি তাদের আলাদাভাবে নিতে পারেন। এই ক্যোয়ারীতে, কীওয়ার্ড 'ব্যবহার করা' অন্য টেবিল থেকে নির্দিষ্ট কলাম সনাক্ত করে। আইটেম টেবিলের ঠিকানা 'অর্ডার' টেবিলের ঠিকানা কলামের সাথে মিলে যায়। এটি দুটি টেবিলের মধ্যে যোগদান করে করা হয়। পূর্ববর্তী উদাহরণের মত, উভয় কলামই GROUP BY ধারা দ্বারা নির্বাচিত হবে।

>> নাম নির্বাচন করুন || ',' || বিবরণ হিসাবে বিভাগ, আইটেম থেকে ঠিকানা ভিতরের যোগদান আদেশ ব্যবহার করে (ঠিকানা) ঠিকানা দ্বারা গ্রুপ, বিবরণ;

আপনি লক্ষ্য করতে পারেন যে আইটেমগুলির ঠিকানা অর্ডারের ঠিকানার সাথে মিলে 5টি সারি নির্বাচন করা হবে। এবং তারপরে, বিবরণ কলামটি ঠিকানা কলামের সাথে চিঠিপত্র তৈরি করা হবে।

একইভাবে, দুটি টেবিলে বয়সের ফ্যাক্টরের সাথে সংযুক্তির আরেকটি উদাহরণ রয়েছে। একটি হল 'যাত্রী', এবং অন্যটি 'শ্রমিক'। প্রথম এবং শেষ নামের মধ্যে সংযোগ। এই দুটি নাম দুটি নামের মধ্যবর্তী স্থানের মাধ্যমে পৃথক করা হয়েছে। আমরা এখানে কর্মী টেবিলের একটি অংশ নিয়েছি।

কর্মী:

প্রশ্নটি কাজ করবে যাতে কর্মীর নামটি যাত্রীর সাথে মিলিত হয়, যাত্রীর বয়স, বয়স কলামে প্রদর্শিত হয়।

>> fname নির্বাচন করুন || ' ' || পূর্ণ_নাম হিসেবে যাত্রী.

একটি সারি গঠিত হয়। স্পেস সহ দুটি কলাম যুক্ত করে full_name তৈরি করা হয় এবং ঠিকানাটি নির্বাচন করা হয় যেখানে যাত্রীর fname শ্রমিকের fname এর সাথে মিলে যায়।

উদাহরণ 4

এই উদাহরণটি 'আইটেম' টেবিলের আইডি গণনা করার জন্য একটি গণনা () ফাংশন ব্যবহার করে। এটি আবার টেবিলের আইডি দ্বারা গ্রুপ।

>> আইডি নির্বাচন করুন, কাউন্ট (আইডি) আইটেমগুলি থেকে আইডি দ্বারা গ্রুপ করুন;

আইডি কলামের সারি গোষ্ঠীতে বিভক্ত। প্রতিটি গ্রুপ কলামে গণনা করা হয় যে কলামে এটি কতবার উপস্থিত হয়। ফলাফল সারণীতে, 'গণনা' নামের একটি নতুন কলাম তৈরি করা হয়েছে, এবং প্রতিটি গোষ্ঠীর সামনে গণনার মানগুলি এখানে লেখা হয়েছে।

আপনার পিজিএডমিন

এখন আমরা PostgreSQL এর ড্যাশবোর্ডের দিকে কিছু উদাহরণ প্রয়োগ করেছি। এই উদাহরণগুলি কিছুটা আলাদা কারণ তারা মূল কলাম থেকে একটি উপ-টোটাল সারি তৈরি করে যখন যে কোনও একটি আইটেম অন্যদের থেকে আলাদা হয়, তাই মানটি NULL হিসাবে ফেরত দেওয়া হয়।

প্রথম উদাহরণ বিবেচনা করুন; এখানে, আমরা দুটি কলাম একত্রিত করে 'ALL' নামে একটি কলাম তৈরি করেছি। একটি ঠিকানা এবং একটি বিভাগ। 'ALL' কলাম সমষ্টিগতভাবে উভয় কলামের মান গণনা করে। ঠিকানা কলামটি 'অ্যাড' হিসাবে গোষ্ঠীভুক্ত করা হয়েছে, এবং বিভাগ কলামটি পৃথকভাবে 'বিড়াল' হিসাবে গোষ্ঠীভুক্ত করা হয়েছে। ব্যবহৃত উভয় টেবিলের কলামের নাম একে অপরের সাথে মিলিত হতে পারে। তাই সংশ্লিষ্ট টেবিলের প্রতিটি কলাম একটি নির্দিষ্ট বস্তু দ্বারা অ্যাক্সেস করা হয়।

কমান্ডে প্রয়োগ করা শর্তটি আইডি এবং অর্ডার নম্বরের উপর নির্ভর করে। যেখানে এই আইডি এবং অর্ডার নম্বর উভয়ই একই, ডেটা আনা হয়। একইভাবে, নামের জন্য একটি অতিরিক্ত শর্তও যোগ করা হয়েছে।

>> o.address, category, count (*) as “All”, GROUPING(o.address) as “add” , GROUPING (category ) as “cat” থেকে আইটেম I, অর্ডার o যেখানে i.order_no = o নির্বাচন করুন। order_id AND i.address= 'লাহোর' গ্রুপ বাই কিউব (o. ঠিকানা, বিভাগ) অর্ডার 1, 2 দ্বারা;

লাহোর শহরের জন্য, একটি বিভাগ নির্বাচন করা হয়েছে। 4টি সম্ভাবনা রয়েছে। কখনও কখনও, খেলনা উপস্থিত থাকে কিন্তু ঠিকানা নেই। এবং বিপরীতভাবে. কিন্তু এমন একটি সময় আছে যেখানে বিভাগ এবং ঠিকানা উভয়ই বিদ্যমান।

এখন, যদি আমরা একটি টেবিল থেকে নামের অবস্থা পরিবর্তন করি এবং টেবিলটি অন্যের সাথে পরিবর্তন করি। “Items.address”-এর পরিবর্তে “order.address”, তারপর ফলাফল ভিন্ন।

উপসংহার

'Postgresql group by' ধারাটি সমষ্টিগত ডেটাতে যেকোনো সমষ্টি অপারেটর প্রয়োগ করতে ব্যবহৃত হয়। এই নিবন্ধটি গণনা ফাংশন, যোগদান এবং একাধিক কলামের নির্বাচন এবং গোষ্ঠীকরণ সহ ধারা অনুসারে গোষ্ঠী ব্যবহার করে। আমি নিশ্চিত এই টিউটোরিয়ালটি পাঠকদের বোঝার সর্বোত্তম মাধ্যম হবে।