Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Hiển thị bản ghi trùng lặp cụ thể trong MySQL với LIKE

Để 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
);