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

Cách xóa các hàng trùng lặp hoàn toàn

Hãy thử điều này - nó sẽ xóa tất cả các bản sao khỏi bảng của bạn:

;WITH duplicates AS
(
    SELECT 
       ProductID, ProductName, Description, Category,
       ROW_NUMBER() OVER (PARTITION BY ProductID, ProductName
                          ORDER BY ProductID) 'RowNum'
    FROM dbo.tblProduct
)
DELETE FROM duplicates
WHERE RowNum > 1
GO

SELECT * FROM dbo.tblProduct
GO

Các bản sao của bạn sẽ biến mất ngay bây giờ:đầu ra là:

ProductID   ProductName   DESCRIPTION        Category
   1          Cinthol         cosmetic soap      soap
   1          Lux             cosmetic soap      soap
   1          Crowning Glory  cosmetic soap      soap
   2          Cinthol         nice soap          soap
   3          Lux             nice soap          soap


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chức năng phân chia bằng dấu phẩy trong SQL Server 2008

  2. Làm cách nào để SQL Server tìm thấy thông tin đăng nhập khớp với tên được cung cấp?

  3. Làm cách nào để loại trừ giới hạn trên trong GIỮA máy chủ sql

  4. TSQL Thử / Bắt trong Giao dịch hay ngược lại?

  5. Làm cách nào để tính toán tương đương với SQL Server (băm ('SHA1', [ColumnName])) trong C #?