Câu hỏi phỏng vấn SQL
Câu hỏi

Xóa các giá trị trùng ...

Câu trả lời

Để xóa các giá trị trùng lặp trong một bảng SQL, bạn có thể sử dụng một số phương pháp khác nhau tùy thuộc vào yêu cầu cụ thể và cấu trúc dữ liệu của bạn. Dưới đây là một số cách phổ biến:

  1. Sử dụng từ khóa DISTINCT trong câu lệnh SELECT để lấy các giá trị duy nhất từ một cột hoặc nhiều cột[3].

  2. Sử dụng hàm GROUP BY kết hợp với mệnh đề HAVING để tìm và đếm các giá trị trùng lặp, sau đó sử dụng câu lệnh DELETE để xóa các hàng trùng lặp[1][4].

  3. Sử dụng hàm ROW_NUMBER() kết hợp với PARTITION BY trong một Common Table Expression (CTE) để gán số thứ tự cho các hàng trùng lặp, sau đó xóa các hàng có số thứ tự lớn hơn 1[4].

Ví dụ, để xóa các hàng trùng lặp dựa trên một hoặc nhiều cột, bạn có thể sử dụng câu lệnh sau:

sql Copy
WITH cte AS (
  SELECT 
    column_name1, 
    column_name2, 
    ROW_NUMBER() OVER (
      PARTITION BY column_name1, column_name2 
      ORDER BY column_name1, column_name2
    ) row_num
  FROM 
    table_name
)
DELETE FROM cte 
WHERE row_num > 1;

Trong đó column_name1column_name2...

senior

senior

Gợi ý câu hỏi phỏng vấn

middle

Hash index hoạt động như thế nào trong SQL?

senior

Các thao tác TRUNCATE và DELETE ảnh hưởng như thế nào đến cột Identity?

middle

Tìm các giá trị trùng lặp trong bảng SQL

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào