MySQL-এ কোনো কলামে কতগুলো আলাদা (distinct) মান আছে তা বের করতে COUNT(DISTINCT column_name) ব্যবহার করা হয়।
সিনট্যাক্স
SELECT COUNT(DISTINCT yourColumnName) FROM yourTableName;
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> Name VARCHAR(20),
-> Score INT
-> );
Query OK, 0 rows affected (0.67 sec)
mysql> INSERT INTO DemoTable VALUES('John', 56);
mysql> INSERT INTO DemoTable VALUES('Sam', 89);
mysql> INSERT INTO DemoTable VALUES('John', 56);
mysql> INSERT INTO DemoTable VALUES('Carol', 60);
mysql> INSERT INTO DemoTable VALUES('Sam', 89);
mysql> INSERT INTO DemoTable VALUES('Carol', 60);
সব রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable;
আউটপুট
+-------+-------+ | Name | Score | +-------+-------+ | John | 56 | | Sam | 89 | | John | 56 | | Carol | 60 | | Sam | 89 | | Carol | 60 | +-------+-------+ 6 rows in set (0.00 sec)
Score কলামের অনন্য মান গণনা
mysql> SELECT COUNT(DISTINCT Score) FROM DemoTable;
আউটপুট
+-----------------------+ | COUNT(DISTINCT Score) | +-----------------------+ | 3 | +-----------------------+ 1 row in set (0.00 sec)
ব্যাখ্যা: Score কলামে ৫৬, ৮৯, ৬০ — তিনটি অনন্য মান আছে (৫৬ দুবার, ৮৯ দুবার, ৬০ দুবার)। COUNT(DISTINCT Score) শুধু অনন্য মান গণনা করে = ৩।
নোট: COUNT(DISTINCT col1, col2, ...) — একাধিক কলামের কম্বিনেশন অনন্য গণনা করেও ব্যবহার করা যায়। NULL মান গণনা করা হয় না।