কম্পিউটার টিউটোরিয়াল

MySQL-এ শর্তসাপেক্ষ GROUP BY ব্যবহার করে সর্বোচ্চ মান বের করা

MySQL-এ GROUP BY ক্লজ এবং এগريغেট ফাংশন (যেমন MAX()) ব্যবহার করে শর্তসাপেক্ষভাবে ডেটা গ্রুপ করা এবং প্রতিটি গ্রুপের সর্বোচ্চ মান বের করা যায়। নিচে একটি উদাহরণ দেওয়া হলো।

টেবিল তৈরি ও ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable (
    StudentName VARCHAR(40),
    StudentMarks INT
);

mysql> INSERT INTO DemoTable VALUES ('John', 78);
mysql> INSERT INTO DemoTable VALUES ('Chris', 48);
mysql> INSERT INTO DemoTable VALUES ('John', 67);
mysql> INSERT INTO DemoTable VALUES ('Chris', 89);

সকল রেকর্ড দেখানো

mysql> SELECT * FROM DemoTable;

আউটপুট:

+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| John        |           78 |
| Chris       |           48 |
| John        |           67 |
| Chris       |           89 |
+-------------+--------------+

শর্তসাপেক্ষ GROUP BY কোয়েরি

প্রতিটি ছাত্রের সর্বোচ্চ নম্বর পেতে MAX() ফাংশন ব্যবহার করি।

mysql> SELECT StudentName, MAX(StudentMarks) AS StudentMarks
       FROM DemoTable
       GROUP BY StudentName;

ফলাফল:

+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| John        |           78 |
| Chris       |           89 |
+-------------+--------------+

ব্যাখ্যা: একই নামের ছাত্রের একাধিক রেকর্ড থাকলে GROUP BY StudentName দিয়ে তাদের এক গোষ্ঠীতে আনা হয়েছে, তারপর MAX(StudentMarks) দিয়ে সে গোষ্ঠীর সর্বোচ্চ নম্বর বের করা হয়েছে।

  1. MySQL-এ টাইম উপেক্ষা করে শুধু ডেট অনুযায়ী গ্রুপ বাই করা

  2. MySQL-এ GROUP BY ও ORDER BY FIELD একসাথে ব্যবহার করে কাস্টম সর্টিং

  3. MySQL-এ GROUP BY ক্লজে সাবকোয়েরি ব্যবহার করে প্রতিটি গ্রুপের প্রথম রো নির্বাচন করুন

  4. অ্যান্ড্রয়েড গ্রুপ মেসেজিং মাস্টার করুন: ধাপে ধাপে গাইড