[SQL] Tìm giá trị trùng lặp trong SQL - How to find duplicate values in SQL

Chia sẻ kiến thức ngôn ngữ lập trình C, C++, C#, Java, Python, PHP, JS, SQL ...

Các điều hành viên: Admin, Mod, SMod

[SQL] Tìm giá trị trùng lặp trong SQL - How to find duplicate values in SQL

Gửi bàigửi bởi MySQL » 29/09/2024 15:07

Bài viết này xuất phát từ bài toán mà mình gặp rất nhiều trong quá trình test data. Bạn cần visualize lên các dashboard hay đơn giản cần export raw data để lấy dữ liệu chính xác. Nhưng dữ liệu của bạn được kéo về từ nhiều nguồn khác nhau? Bạn cần check raw data có bị duplicate hay không? Vậy cách check là gì? Bài viết sẽ chia sẻ tips để có thể check được duplicates data.

Đầu tiên để check được table đó bị duplicate data không, Cần xác định được unique key của nó. Tức là tập hợp một/nhiều columns gộp lại với nhau tạo thành 1 giá trị unique của table. Sẽ được chia thành 02 trường hợp như sau:

1. Tìm giá trị trùng lặp trong 1 cột - Find duplicate values ​​in one column
Mã: Chọn tất cả
SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name
HAVING COUNT(*) > 1;


hoặc:
Mã: Chọn tất cả
SELECT OrderID, COUNT(OrderID)
FROM Orders
GROUP BY OrderID
HAVING COUNT(OrderID) > 1;


2. Tìm giá trị trùng lặp trong nhiều cột khác nhau - Find duplicate values in multiple columns
Mã: Chọn tất cả
SELECT column_name_1, column_name_2, COUNT(*)
FROM table_name
GROUP BY column_name_1, column_name_2
HAVING COUNT(*) > 1;


hoặc:
Mã: Chọn tất cả
SELECT OrderID, ProductID, COUNT(*)
FROM OrderDetails
GROUP BY OrderID, ProductID
HAVING COUNT(*) > 1


3. Tài liệu tham khảo:
https://stackoverflow.com/questions/259 ... -sql-table
Sửa lần cuối: MySQL 29/09/2024 15:09
Hình đại diện của thành viên
MySQL
☀️1/30☀️
☀️1/30☀️
 
Bài viết: 1
Ngày tham gia: 13/03/2012 15:00

Quay về C, C++, C#, Java, Python, PHP, JS, SQL ...

 


  • Chủ đề tương tự
    Trả lời
    Xem
    Bài viết mới nhất

Ai đang trực tuyến?

Đang xem chuyên mục này: Không có thành viên nào đang trực tuyến8 khách