Bạn có thể sử dụng if () từ MySQL để đếm các bản ghi trùng lặp. Cú pháp như sau -
CHỌN yourColumnName, COUNT (*) AS anyVariableName, IF (COUNT (*)> 1, "Duplicate Records", "Not Duplicate records") as anyVariableName from yourTableName group by yourColumnName;
Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -
mysql> tạo bảng DuplicateRecords -> (-> Id int NOT NULL AUTO_INCREMENT, -> Name varchar (30), -> PRIMARY KEY (Id) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,82 giây)Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -
mysql> chèn vào các giá trị DuplicateRecords (Tên) ('Carol'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,81 giây) mysql> chèn vào các giá trị DuplicateRecords (Tên) ('John'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,17 giây) mysql> chèn vào các giá trị DuplicateRecords (Tên) ('Sam'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây) mysql> chèn vào các giá trị DuplicateRecords (Tên) ('John'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,17 giây) mysql> chèn vào các giá trị DuplicateRecords (Tên) ('Sam'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,11 giây) mysql> chèn vào các giá trị DuplicateRecords (Tên) ('Sam'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,20 giây) mysql> chèn vào các giá trị DuplicateRecords (Tên) ('John'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,12 giây) mysql> chèn vào các giá trị DuplicateRecords (Tên) ('Carol'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,14 giây) mysql> chèn vào các giá trị DuplicateRecords (Tên) ('Carol'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,10 giây) mysql> chèn vào các giá trị DuplicateRecords (Tên) ('Mike'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,14 giây)Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -
mysql> select * from DuplicateRecords;Sau đây là kết quả -
+ ---- + ------- + | Id | Tên | + ---- + ------- + | 1 | Carol || 2 | John || 3 | Sam || 4 | John || 5 | Sam || 6 | Sam || 7 | John || 8 | Carol || 9 | Carol || 10 | Mike | + ---- + ------- + 10 hàng được thiết lập (0,00 giây)Đây là truy vấn để đếm các bản ghi trùng lặp từ bảng -
mysql> CHỌN Tên, Lặp lại COUNT (*) AS, IF (COUNT (*)> 1, "Bản ghi trùng lặp", "Bản ghi không trùng lặp") dưới dạng IsDuplicateRecordsOrNot -> từ nhóm DuplicateRecords theo Tên;Sau đây là kết quả -
+ ------- + ------------ + ------------------------- + | Tên | Sự lặp lại | IsDuplicateRecordsOrNot | + ------- + ------------ + ------------------------- + | Carol | 3 | Hồ sơ trùng lặp || John | 3 | Hồ sơ trùng lặp || Sam | 3 | Hồ sơ trùng lặp || Mike | 1 | Bản ghi không trùng lặp | + ------- + ------------ + ------------------------ - + 4 hàng trong bộ (0,00 giây)