এক বা একাধিক কলামের রেজাল্ট-সেট কে গ্রুপ করার জন্য Aggregate ফাংশন যেমন- MIN, MAX, AVG, COUNT, SUM ইত্যাদির সাথে প্রায়ই GROUP BY স্টেটমেন্টটি ব্যবহার করা হয়।
GROUP BY স্টেটমেন্ট
GROUP BY স্টেটমেন্ট এর মাধ্যমে এক বা একাধিক কলামের রেজাল্ট-সেট কে একত্রিত(group) করা যায়।
SQL GROUP BY সিনট্যাক্স
SELECT aggregate_function(name_of_column), name_of_column
FROM name_of_table
GROUP BY name_of_column's;
উদাহরণ
SELECT COUNT(id), Address
FROM Student_details
GROUP BY Address;
নমুনা ডেটাবেজ
GROUP BYস্টেটমেন্টের ব্যবহার দেখার জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ
| আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | প্রতিষ্ঠানের নাম | ঠিকানা |
|---|---|---|---|---|
| ১ | ১০১ | তামজীদ হাসান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
| ২ | ১০২ | মিনহাজুর রহমান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
| ৩ | ১০৩ | মোঃ সবুজ হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
| ৪ | ১০৪ | ইয়াসিন হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
| ৫ | ১০৫ | ফরহাদ উদ্দিন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
নিচের অংশটি "Student_result" টেবিল থেকে নেওয়াঃ
| আইডি নং | রোল নাম্বার | ফলাফল |
|---|---|---|
| ১ | ১০১ | A+ |
| ২ | ১০২ | A+ |
| ৩ | ১০৩ | A+ |
| ৪ | ১০৪ | A+ |
| ৫ | ১০৫ | A+ |
SQL GROUP BY স্টেটমেন্টের উদাহরণ
এখন আমরা প্রতিটি শিক্ষার্থীর ফলাফল খুঁজে বের করবো।
নিম্নলিখিত SQL স্টেটমেন্ট দ্বারা আমরা GROUP BY এর ব্যবহার দেখবোঃ
উদাহরণ
SELECT student_details.student_name,student_result.result AS
Result FROM student_result LEFT JOIN student_details
ON student_result.roll_number = student_details.roll_number
GROUP BY student_name;
কিছু গুরুত্বপূর্ণ Aggregate ফাংশন
MIN- একটি প্রদত্ত কলামের সর্বোনিম্ন মান রিটার্ন করে।MAX- একটি প্রদত্ত কলামের সর্বোচ্চ মান রিটার্ন করে।SUM- একটি প্রদত্ত কলামে সংখ্যামান-সমূহের যোগফল রিটার্ন করে।AVG- একটি প্রদত্ত কলামের গড় মান রিটার্ন করে।COUNT- প্রদত্ত কলামের মান-সমূহের মোট সংখ্যা রিটার্ন করে।COUNT(*)- একটি টেবিলে মোট সারির সংখ্যা রিটার্ন করে।
Content added By
Read more