Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Xóa các bản ghi trùng lặp chỉ bằng một truy vấn

Sử dụng ROW_NUMBER trong CTE cho phép bạn xóa các giá trị trùng lặp trong khi vẫn giữ lại các hàng duy nhất.

WITH q AS (
  SELECT RN = ROW_NUMBER() OVER (PARTITION BY ID ORDER BY ID )
         , ID
         , Name
  FROM   ATable
)
DELETE FROM q WHERE RN > 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào một người có thể lặp lại các kết quả của thủ tục đã lưu trữ từ bên trong một thủ tục được lưu trữ khác .... mà không có con trỏ?

  2. Làm thế nào để kết hợp hai câu lệnh SQL này?

  3. Học thiết kế cơ sở dữ liệu với SQL Server Management Studio (SSMS) - Phần 2

  4. Trình điều khiển không thể thiết lập kết nối an toàn với SQL Server bằng cách sử dụng mã hóa Lớp cổng bảo mật (SSL)

  5. Cú pháp nối nào tốt hơn?