MySQL-এ GROUP BY ব্যবহার করে কলাম ভ্যালুর ফ্রিকোয়েন্সি গণনা
MySQL-এ GROUP BY ক্লজ এবং COUNT() এগ্রিগেট ফাংশন ব্যবহার করে কোনো কলামের প্রতিটি ইউনিক মান কতবার উপস্থিত হয়েছে তা গণনা করা হয়। এটি ফ্রিকোয়েন্সি ডিস্ট্রিবিউশন বা হিস্টোগ্রাম তৈরি করার জন্য ব্যবহৃত হয়।
উদাহরণ
টেবিল তৈরি (AUTO_INCREMENT 100 থেকে):
CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FileID INT
) AUTO_INCREMENT = 100;
INSERT INTO DemoTable (FileID) VALUES (50), (60), (50), (70), (60), (50);
FileID ভিত্তিক গণনা
SELECT FileID, COUNT(FileID) AS EntryCount
FROM DemoTable
GROUP BY FileID;
আউটপুট:
+---------+------------+
| FileID | EntryCount |
+---------+------------+
| 50 | 3 |
| 60 | 2 |
| 70 | 1 |
+---------+------------+
ব্যাখ্যা
GROUP BY FileID— একই FileID ওয়ালা রোগুলো একসাথে গ্রুপ করে।COUNT(FileID)— প্রতিটি গ্রুপে নন-NULL FileID মান কতটি আছে তা গণনা করে।COUNT(*)লিখলেও একই ফলাফল আসে (এখানে FileID NULL নয়)।
শুধু ডুপ্লিকেট দেখতে (EntryCount > 1)
SELECT FileID, COUNT(*) AS EntryCount
FROM DemoTable
GROUP BY FileID
HAVING COUNT(*) > 1;