ใช้ COUNT(*) ร่วม GROUP BY และ IF() เพื่อระบุว่าเป็นข้อมูลซ้ำหรือไม่
ไวยากรณ์
SELECT yourColumn, COUNT(*) AS Repetition,
IF(COUNT(*) > 1, 'Duplicate Records', 'Not Duplicate Records') AS Status
FROM yourTableName
GROUP BY yourColumn;
ตัวอย่างการใช้งาน
สร้างตาราง DuplicateRecords:
mysql> CREATE TABLE DuplicateRecords (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Name VARCHAR(30),
-> PRIMARY KEY(Id)
-> );
เพิ่มข้อมูล (มีชื่อซ้ำ):
mysql> INSERT INTO DuplicateRecords(Name) VALUES('Carol'),('John'),('Sam'),('John'),('Sam'),('Sam'),('John'),('Carol'),('Carol'),('Mike');
ข้อมูลทั้งหมด
+----+-------+ | Id | Name | +----+-------+ | 1 | Carol | | 2 | John | | 3 | Sam | | 4 | John | | 5 | Sam | | 6 | Sam | | 7 | John | | 8 | Carol | | 9 | Carol | | 10 | Mike | +----+-------+
คำสั่งนับและระบุสถานะ
mysql> SELECT Name, COUNT(*) AS Repetition,
-> IF(COUNT(*) > 1, 'Duplicate Records', 'Not Duplicate Records') AS IsDuplicate
-> FROM DuplicateRecords GROUP BY Name;
ผลลัพธ์
+-------+------------+-------------------------+ | Name | Repetition | IsDuplicate | +-------+------------+-------------------------+ | Carol | 3 | Duplicate Records | | John | 3 | Duplicate Records | | Sam | 3 | Duplicate Records | | Mike | 1 | Not Duplicate Records | +-------+------------+-------------------------+