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)।