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

MySQL-এ GROUP BY + MAX() ব্যবহার করে প্রতিটি গ্রুপের সর্বোচ্চ মান বের করা

MySQL-এ একটি কলাম (গ্রুপিং কী) অনুযায়ী গ্রুপ করে অন্য কলামের সর্বোচ্চ মান বের করার জন্য GROUP BY এবং MAX() ব্যবহার করা হয়।

টেবিল এবং ডেটা

CREATE TABLE DemoTable (
    CountryName VARCHAR(20),
    Population INT
);

INSERT INTO DemoTable VALUES('US',560);
INSERT INTO DemoTable VALUES('UK',10090);
INSERT INTO DemoTable VALUES('UK',8794);
INSERT INTO DemoTable VALUES('US',1090);

কুয়েরি: দেশ অনুযায়ী সর্বোচ্চ জনসংখ্যা

SELECT CountryName, MAX(Population) 
FROM DemoTable 
GROUP BY CountryName;

ফলাফল

+-------------+-----------------+
| CountryName | max(Population) |
+-------------+-----------------+
| US          | 1090            |
| UK          | 10090           |
+-------------+-----------------+

ব্যাখ্যা

  • GROUP BY CountryName — একই দেশের রোগুলো এক গ্রুপে
  • MAX(Population) — প্রতিটি গ্রুপের সর্বোচ্চ মান
  • US: 560, 1090 → MAX = 1090
  • UK: 10090, 8794 → MAX = 10090

অন্যান্য অ্যাগ্রিগেট ফাংশন

SELECT 
    CountryName,
    MAX(Population) AS MaxPop,
    MIN(Population) AS MinPop,
    AVG(Population) AS AvgPop,
    SUM(Population) AS TotalPop,
    COUNT(*) AS RecordCount
FROM DemoTable
GROUP BY CountryName;

হেভিং ক্লজ (গ্রুপ ফিল্টার)

SELECT CountryName, MAX(Population) 
FROM DemoTable 
GROUP BY CountryName 
HAVING MAX(Population) > 5000;

শুধু UK আসবে (MAX=10090 > 5000)।

  1. MySQL-এ INSERT INTO ... SELECT ব্যবহার করে একটি টেবিলের সর্বোচ্চ ID অন্য টেবিলে ইনসার্ট করা

  2. MySQL-এ টেবিলে নেই এমন মানগুলো কোয়েরি করে বের করা (UNION ALL + NOT EXISTS)

  3. MySQL-এ সাবকোয়ারি এবং GROUP BY ব্যবহার করে সর্বোচ্চ কমিউলেটিভ মান বের করা

  4. MySQL-এ কলামের সর্বোচ্চ মান বের করা (Find Maximum Value in a Column)