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

MySQL-এ কম্পোজিট কী (Composite Key) দিয়ে ডুপ্লিকেট সারি খুঁজে বের করা

GROUP BY ও HAVING ব্যবহার করে ডুপ্লিকেট রো খুঁজুন

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

উদাহরণ

শিপিং ডেট ও দেশের টেবিল:

mysql> CREATE TABLE DemoTable1494 (
    -> ShippingDate DATETIME,
    -> CustomerCountryName VARCHAR(20)
    -> );

ডেটা ইনসার্ট (US ও AUS ডুপ্লিকেট):

mysql> INSERT INTO DemoTable1494 VALUES
    -> ('2018-09-10 12:34:50', 'US'),
    -> ('2019-09-10 12:34:50', 'AUS'),
    -> ('2018-09-10 11:00:00', 'US'),
    -> ('2017-12-31 01:10:40', 'UK'),
    -> ('2019-09-10 05:00:50', 'AUS');

কোয়েরি: ডেট অংশ ও দেশ মিলিয়ে ডুপ্লিকেট খুঁজুন

mysql> SELECT ShippingDate, CustomerCountryName, COUNT(*) AS c
    -> FROM DemoTable1494
    -> GROUP BY DATE(ShippingDate), CustomerCountryName
    -> HAVING c >= 2
    -> ORDER BY c;

ফলাফল

+---------------------+---------------------+---+
| ShippingDate        | CustomerCountryName | c |
+---------------------+---------------------+---+
| 2018-09-10 12:34:50 | US                  | 2 |
| 2019-09-10 12:34:50 | AUS                 | 2 |
+---------------------+---------------------+---+

নোট: DATE(ShippingDate) ব্যবহার করে শুধু তারিখ অংশ দিয়ে গ্রুপ করা হয়েছে, সময় বাদ দিয়ে।

  1. MySQL-এ INFORMATION_SCHEMA এবং SUM() ব্যবহার করে একাধিক ডাটাবেসের টেবিল রো সংখ্যা যোগ করুন

  2. MySQL-এ প্রাইমারি কী রিসেট করা (TRUNCATE + ALTER TABLE)

  3. MySQL-এ DISTINCT ব্যবহার করে ডুপ্লিকেট রো থেকে শুধু একটি রো দেখানো

  4. MySQL কম্পোজিট إندেক্স