Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да изтриете напълно дублиращи се редове

Опитайте това - то ще изтрие всички дубликати от вашата таблица:

;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

Вашите дубликати трябва да са изчезнали сега:резултатът е:

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. Брой Брой последователни поява на стойности в табл

  2. SQL SERVER - Разбиране как работи MIN(текст).

  3. Как да добавите регистрационен файл към база данни на SQL Server (T-SQL)

  4. Колко ефективна е функцията YEAR(дата)?

  5. SQL Server 2008 - HashBytes изчислена колона