MySQL-এ একক কলামে প্রতিটি মান কতবার চলে এলো (duplicate count) বের করতে GROUP BY এবং COUNT(*) ব্যবহার করা হয়।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> Number INT
-> );
Query OK, 0 rows affected (0.83 sec)
mysql> INSERT INTO DemoTable VALUES(20), (20), (10), (30), (10), (10);
সব রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable;
আউটপুট
+--------+ | Number | +--------+ | 20 | | 20 | | 10 | | 30 | | 10 | | 10 | +--------+ 6 rows in set (0.00 sec)
প্রতি মান ঘনত্ব গণনা
mysql> SELECT Number, COUNT(*) FROM DemoTable GROUP BY Number;
আউটপুট
+--------+----------+ | Number | COUNT(*) | +--------+----------+ | 20 | 2 | | 10 | 3 | | 30 | 1 | +--------+----------+ 3 rows in set (0.00 sec)
ব্যাখ্যা: GROUP BY Number সমান নাম্বার والے রো গ্রুপ করে। COUNT(*) প্রতিটি গ্রুপের রো সংখ্যা গণনা করে। ১০ - ৩ বার, ২০ - ২ বার, ৩০ - ১ বার।
শুধু ডুপ্লিকেট (ঘনত্ব > ১) দেখতে: SELECT Number, COUNT(*) FROM DemoTable GROUP BY Number HAVING COUNT(*) > 1;
সর্বোচ্চ ঘনত্ব: SELECT Number, COUNT(*) AS cnt FROM DemoTable GROUP BY Number ORDER BY cnt DESC LIMIT 1;