Để lọc ra các bản ghi trùng lặp của một giá trị cụ thể, dùng WHERE cot LIKE 'gia_tri' (hoặc = cho khớp chính xác).
Ví dụ minh họa
Tạo bảng và chèn dữ liệu có trùng:
CREATE TABLE DemoTable (Name VARCHAR(20));
INSERT INTO DemoTable VALUES ('John'), ('Chris'), ('John'), ('Bob'), ('Chris');
Lọc chỉ các bản ghi tên 'John':
SELECT * FROM DemoTable WHERE Name LIKE 'John';
Kết quả
| Name |
|---|
| John |
| John |
LIKE vs =
Name = 'John': Khớp chính xác, nhanh hơn, dùng index.Name LIKE 'John': Tương đương=nếu không có wildcard (%,_).Name LIKE 'J%': Tìm tên bắt đầu bằng J (John, Jack...).Name LIKE '%ohn%': Tìm chứa 'ohn' (John, Johnson...).
Tìm TẤT CẢ giá trị bị trùng (không chỉ 1 giá trị cụ thể)
SELECT Name, COUNT(*) AS cnt FROM DemoTable GROUP BY Name HAVING COUNT(*) > 1;
Kết quả: John (2), Chris (2).
Xem chi tiết các hàng trùng
SELECT * FROM DemoTable
WHERE Name IN (
SELECT Name FROM DemoTable GROUP BY Name HAVING COUNT(*) > 1
);