Đầu tiên tôi tạo ra một bảng users đơn giản chứa thông tin người dùng gồm name và location.
Tiếp theo tôi chèn một vài dữ liệu mẫu vào bảng users đó.
Bây giờ là tới nội dung chính của bài viết hôm nay. Đó là tôi sẽ sử dụng câu truy vấn để tìm những dữ liệu trùng lặp nhau trong MySQL.
Thật ra câu lệnh tìm dữ liệu trùng lặp cũng không có gì phức tạp lắm, nếu bạn thường sử dụng các lệnh MySQL để truy vấn dữ liệu thì chắc hẳn đã biết đến lệnh HAVING và GROUP BY vốn được sử dụng trong các trường hợp liên quan đến tập hợp dữ liệu. Trong trường hợp này chúng ta sẽ dùng lệnh GROUP BY để nhóm các record lại, sau đó dùng lệnh HAVING để lọc ra những record trùng lặp có số lượng lớn hơn 1.
Sau khi truy vấn, tôi đã có được kết quả mong muốn và biết được số lượng những record trùng lặp.
1, Hiển thị các dữ liệu trùng nhau
Nếu các bạn muốn hiển thị nội dung đầy đủ của các record trùng nhau thì các bạn hãy dùng câu lệnh dưới đây2, Xóa các dữ liệu trùng nhau (giữ lại 1 record)
Để xóa những record trùng nhau trong Database lớn thì chúng ta không thể nào thực hiện bằng tay được, thay vào đó chúng ta nên dùng các câu lệnh MySQL dưới đây để xóa nhằm tiết kiệm thời gian và không bỏ sót dữ liệu.Câu lệnh dưới đây sẽ xóa những record trùng nhau nhưng giữ lại 1 record trong số đó. Giả sử trong Database có 3 record trùng nhau thì câu lệnh sẽ xóa 2 record và giữ lại 1 record. Nếu bạn vẫn muốn xóa hết những record trùng nhau thì hãy tham khảo mục 3.
Kết quả thu được sau khi xóa
3, Xóa hoàn toàn các dữ liệu trùng nhau ra khỏi Database
Câu lệnh dưới đây sẽ loại bỏ hoàn toàn các dữ liệu trùng nhau ra khỏi Database, tức là nếu có 2 record giống nhau thì sẽ xóa hết 2 record đó.4, Mở rộng
Nếu bạn thiết kế hoặc làm việc với Database lớn thì hãy tham khảo bài viết này để tránh tạo ra những record trùng lặp trong MySQL nhé.Hi vọng bài viết giúp ích cho các bạn. Thân ái!
Không có nhận xét nào:
Đăng nhận xét