SQL GROUP BY স্টেটমেন্ট
এক বা একাধিক কলামের রেজাল্ট-সেট কে গ্রুপ করার জন্য 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(*)
- একটি টেবিলে মোট সারির সংখ্যা রিটার্ন করে।