আমি বুঝতে পারি GROUP BY x
কিন্তু কীভাবে
GROUP BY x, y
কাজ করে এবং এর অর্থ কী?
আমি বুঝতে পারি GROUP BY x
কিন্তু কীভাবে
GROUP BY x, y
কাজ করে এবং এর অর্থ কী?
উত্তর:
Group By X
এর অর্থ হ'ল সকলকে একই গ্রুপে এক্সের জন্য একই মানযুক্ত করা ।
Group By X, Y
মানে এক্স এবং ওয়াই উভয়ের জন্য একই গ্রুপে থাকা সমস্তকে এক গ্রুপে রাখুন ।
একটি উদাহরণ ব্যবহার করে উদাহরণস্বরূপ, আসুন আমরা আমাদের নীচের টেবিলটি বলতে পারি যে কোন বিশ্ববিদ্যালয়ে কোন বিষয়ে পড়ছে তা নিয়ে:
Table: Subject_Selection
Subject Semester Attendee
---------------------------------
ITB001 1 John
ITB001 1 Bob
ITB001 1 Mickey
ITB001 2 Jenny
ITB001 2 James
MKB114 1 John
MKB114 1 Erica
যখন আপনি group by
কেবল বিষয় কলামে একটি ব্যবহার করেন ; বলে,
select Subject, Count(*)
from Subject_Selection
group by Subject
আপনি কিছু পাবেন:
Subject Count
------------------------------
ITB001 5
MKB114 2
... কারণ ITB001 এর জন্য 5 টি এবং এমকেবি 114 এর জন্য 2 টি প্রবেশিকা রয়েছে
আমরা যদি group by
দুটি কলামে থাকি :
select Subject, Semester, Count(*)
from Subject_Selection
group by Subject, Semester
আমরা এটি পেতে হবে:
Subject Semester Count
------------------------------
ITB001 1 3
ITB001 2 2
MKB114 1 2
এটি কারণ, যখন আমরা দুটি কলাম দ্বারা গোষ্ঠী করি, তখন এটি বলছে "তাদের গ্রুপ করুন যাতে একই সাবজেক্ট এবং সেমিস্টারের সাথে সমস্তগুলি একই গ্রুপে থাকে এবং তারপরে সমস্ত সমষ্টিগত ফাংশন (গণনা, যোগফল, গড় ইত্যাদি) গণনা করে them ) এই গ্রুপগুলির প্রত্যেকের জন্য " । এই উদাহরণে এটি প্রমাণিত হয় যে, যখন আমরা তাদের গণনা করি, সেখানে তিন জন সেমিস্টার 1 এ ITB001 করছেন, এবং দু'জন সেমিস্টারে করছেন M এমকেবি 114 করছে এমন লোক দু'জনই সেমিস্টার 1-এ রয়েছে, সুতরাং সেখানে কোনও নেই সেমিস্টার 2 এর সারি ("এমকেবি 114, সেমিস্টার 2" গোষ্ঠীতে কোনও ডেটা ফিট করে না)
আশা করি তা বোধগম্য হয়।
GROUP BY A,B
কি একইরকম GROUP BY B,A
?
GROUP BY a, b
এবং GROUP BY a AND b
দ্বিতীয়টি কেবল একই বিষয়বস্তুযুক্ত এবং কোনও "আন্ডারগ্রুপ" নয় এমন গ্রুপযুক্ত আইটেমগুলিকে তালিকাবদ্ধ করে। এই ক্ষেত্রে আউটপুট প্রথমটির মতো হবে same
GROUP BY
এক বা একাধিক কলাম দ্বারা ফলাফল-সেটকে গোষ্ঠী করাতে এই ধারাটি সামগ্রিক ফাংশনের সাথে একত্রে ব্যবহৃত হয়। উদাহরণ:
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
এই আদেশ মনে রাখবেন:
1) নির্বাচন (একটি ডাটাবেস থেকে ডেটা নির্বাচন করতে ব্যবহৃত হয়)
2) FROM (টেবিলগুলি তালিকাতে ক্লজ ব্যবহৃত হয়)
3) যেখানে (ধারা রেকর্ড ফিল্টার করতে ব্যবহৃত হয়)
৪) গ্রুপ দ্বারা (একাধিক রেকর্ড জুড়ে ডেটা সংগ্রহ করতে এবং এক বা একাধিক কলাম দ্বারা ফলাফলকে গোষ্ঠীভুক্ত করার জন্য একটি বিভাগ নির্বাচনী বিবৃতিতে ব্যবহার করা যেতে পারে)
5) হ্যাভিং (ক্লজটি গ্রুপের গ্রুপের সাথে মিশ্রিতভাবে ফিরে আসা সারিগুলির গ্রুপগুলিকে কেবল তাদের মধ্যে সীমাবদ্ধ করতে ব্যবহৃত হয়েছে যাদের অবস্থা সত্য)
)) অর্ডার দিয়ে (ফলাফলটি সাজানোর জন্য কীওয়ার্ড ব্যবহার করা হয়)
আপনি যদি সামগ্রিক ফাংশন ব্যবহার করে থাকেন তবে আপনি এগুলি ব্যবহার করতে পারেন এবং এগুলি অবশ্যই সেট করা উচিত, অন্যথায় আপনি ত্রুটি পেতে পারেন।
সমষ্টিগত কার্যাদি হ'ল:
MIN প্রদত্ত কলামে ক্ষুদ্রতম মান প্রদান করে
SUM প্রদত্ত কলামে সংখ্যার মানগুলির যোগফল প্রদান করে
এভিজি প্রদত্ত কলামের গড় মান প্রদান করে
COUNT প্রদত্ত কলামে মানগুলির মোট সংখ্যা প্রদান করে
COUNT (*) একটি সারণীতে সারিগুলির সংখ্যা প্রদান করে