Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So löschen Sie vollständig doppelte Zeilen

Versuchen Sie Folgendes – es löscht alle Duplikate aus Ihrer Tabelle:

;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

Ihre Duplikate sollten jetzt verschwunden sein:Ausgabe ist:

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