কম্পিউটার টিউটোরিয়াল

MySQL-এ GROUP BY HAVING COUNT(*) ব্যবহার করে ডুপ্লিকেট মান খুঁজুন

টেবিলে একাধিকবার উপস্থিত মান খুঁজে বের করতে GROUP BY এবং HAVING COUNT(*) > 1 ব্যবহার করা হয়। এটি ডুপ্লিকেট ডেটা শনাক্ত করার সহজ পদ্ধতি।

উদাহরণ

১. টেবিল তৈরি করুন

mysql> CREATE TABLE DemoTable (
    -> Value INT
    -> );

২. ডেটা ইনসার্ট করুন (কিছু মান পুনরাবৃত্ত)

mysql> INSERT INTO DemoTable VALUES(20);
mysql> INSERT INTO DemoTable VALUES(10);
mysql> INSERT INTO DemoTable VALUES(30);
mysql> INSERT INTO DemoTable VALUES(10);  -- ডুপ্লিকেট
mysql> INSERT INTO DemoTable VALUES(30);  -- ডুপ্লিকেট
mysql> INSERT INTO DemoTable VALUES(40);
mysql> INSERT INTO DemoTable VALUES(50);

৩. সব রেকর্ড দেখুন

mysql> SELECT * FROM DemoTable;

আউটপুট:

+-------+
| Value |
+-------+
| 20    |
| 10    |
| 30    |
| 10    |
| 30    |
| 40    |
| 50    |
+-------+

৪. একাধিকবার থাকা মান খুঁজুন

mysql> SELECT * FROM DemoTable
    -> GROUP BY Value
    -> HAVING COUNT(*) > 1;

৫. ফলাফল

+-------+
| Value |
+-------+
| 10    |
| 30    |
+-------+

ব্যাখ্যা: GROUP BY Value একই মানগুলো গ্রুপ করে, HAVING COUNT(*) > 1 শুধু সেই গ্রুপগুলো দেখায় যাদের একাধিক রো আছে। যদি ডুপ্লিকেটের সংখ্যাও জানতে চান, তাহলে SELECT Value, COUNT(*) AS occurrences FROM DemoTable GROUP BY Value HAVING COUNT(*) > 1; ব্যবহার করুন।

  1. MySQL SELECT 1 ব্যবহার করে ভ্যালু এক্সিস্ট করে কিনা চেক করার পদ্ধতি

  2. MySQL-এ isMarried = 0 olan সারি গোষ্ঠী করে (GROUP BY) ক্লায়েন্ট অনুযায়ী বের করা

  3. MySQL-এ DISTINCT, ORDER BY DESC, LIMIT OFFSET ব্যবহার করে Nth সর্বোচ্চ মান বের করুন

  4. MySQL-এ WHERE IN ক্লজে NULL হ্যান্ডলিং