MySQL-এ GROUP BY এবং COUNT(*) ব্যবহার করে ডিস্টINCT মান এবং তাদের আবির্ভাবের সংখ্যা বের করা
SELECT DISTINCT শুধু ইউনিক মান দেয়, কিন্তু প্রতিটি মান কতবার আসেছে তা জানতে GROUP BY এবং COUNT(*) ব্যবহার করতে হয়।
সিনট্যাক্স
SELECT yourColumnName, COUNT(*) AS Frequency FROM yourTableName GROUP BY yourColumnName;
উদাহরণ
টেবিল তৈরি
mysql> CREATE TABLE selectDistinct_CountDemo (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Name VARCHAR(10),
-> AppearanceId INT,
-> PRIMARY KEY(Id)
-> );
ডেটা ইনসার্ট
mysql> INSERT INTO selectDistinct_CountDemo(Name, AppearanceId) VALUES('Larry', 1), ('John', 2), ('Larry', 3), ('Larry', 10), ('Carol', 11), ('Larry', 15);
সকল রেকর্ড
mysql> SELECT * FROM selectDistinct_CountDemo;
+----+-------+--------------+ | Id | Name | AppearanceId | +----+-------+--------------+ | 1 | Larry | 1 | | 2 | John | 2 | | 3 | Larry | 3 | | 4 | Larry | 10 | | 5 | Carol | 11 | | 6 | Larry | 15 | +----+-------+--------------+
GROUP BY এবং COUNT(*)
mysql> SELECT Name, COUNT(*) AS TotalAppearance
-> FROM selectDistinct_CountDemo
-> GROUP BY Name;
ফলাফল
+-------+-----------------+ | Name | TotalAppearance | +-------+-----------------+ | Larry | 4 | | John | 1 | | Carol | 1 | +-------+-----------------+
Larry ৪বার, John ১বার, Carol ১বার আসেছে। DISTINCT শুধু নাম দিয়ে থাকত, কিন্তু GROUP BY + COUNT দিয়ে ফ্রিকোয়েন্সিও পাওয়া গেল।