Đôi khi bạn có thể cần tìm các bản ghi trùng lặp trong MySQL. Dưới đây là cách lấy các bản ghi trùng lặp trong một bảng. Bạn có thể sử dụng nó để lấy các hàng có giá trị trùng lặp trong MySQL
Cách tìm các giá trị trùng lặp trong MySQL
Dưới đây là các bước để lấy các bản ghi trùng lặp trong MySQL. Giả sử bạn có bảng MySQL sau đây với các bản ghi trùng lặp.
mysql> tạo bảng sao chép (id int, int số tiền); mysql> chèn vào giá trị trùng lặp (id, số tiền) (1, 100), (1,250), (2,350), (2,350); mysql> chọn * từ Dup_orders; + ------ + -------- + | id | số tiền | + ------ + -------- + | 1 | 100 || 1 | 250 || 2 | 350 || 2 | 350 | + ------ + -------- +
Phần thưởng đọc:MySQL Thêm Ràng buộc Duy nhất
Tìm các giá trị của Hàng trùng lặp trong một cột
Đây là truy vấn SQL để tìm các giá trị trùng lặp cho một cột
CHỌN col, COUNT (col) FROM table_nameGROUP BY colHAVING COUNT (col)> 1;
Trong truy vấn trên, chúng tôi thực hiện GROUP BY cho cột mà chúng tôi muốn kiểm tra các bản sao. Chúng tôi cũng sử dụng mệnh đề COUNT () và HAVING để tính số hàng cho mỗi nhóm.
Phần thưởng Đọc:Cột Đổi tên MySQL
Hãy áp dụng truy vấn trên cho Dup_orders của chúng tôi bảng, để nhận các giá trị trùng lặp cho id cột
mysql> chọn id, số tiền từ nhóm Dup_orders theo id có số lượng (id)> 1; + ------ + -------- + | id | số tiền | + ------ + -------- + | 1 | 100 || 2 | 350 | + ------ + -------- +
Tìm các giá trị Hàng trùng lặp trong Nhiều Cột
Đây là truy vấn SQL để tìm các giá trị trùng lặp cho nhiều cột
CHỌN col1, col2, ..., COUNT (*) FROM table_nameGROUP BY col1, col2, ... HAVING (COUNT (col1)> 1) AND (COUNT (col2)> 1) AND ...Trong truy vấn trên, chúng tôi thực hiện NHÓM BẰNG tất cả các cột ( col1, col2 ) cho người mà chúng tôi muốn tìm các bản sao. Chúng tôi cũng sử dụng mệnh đề COUNT () và HAVING để tính số hàng cho mỗi nhóm.
Phần thưởng đọc:Cách sao chép bảng trong MySQL
Hãy áp dụng truy vấn trên cho Dup_orders của chúng tôi bảng, để nhận các giá trị trùng lặp cho id và số lượng cột
mysql> chọn id, số tiền, số lượng (*) từ nhóm lặp lại theo id, số tiền có số lượng (id)> 1 và số lượng (số tiền)> 1; + ------ + ------ - + ---------- + | id | số tiền | đếm (*) | + ------ + -------- + ---------- + | 2 | 350 | 2 | + ------ + -------- + ---------- +Hy vọng rằng bây giờ bạn có thể dễ dàng nhận được các bản ghi trùng lặp trong MySQL.
Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!