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

SQL:Изтриване на дублиращи се записи в SQL Server

Е, това е една от причините да имате първичен ключ на масата. Каква версия на SQL Server? За SQL Server 2005 и по-нова версия:

;WITH r AS
(
    SELECT col1, col2, col3, -- whatever columns make a "unique" row
    rn = ROW_NUMBER() OVER (PARTITION BY col1, col2, col3 ORDER BY col1)
    FROM dbo.SomeTable
)
DELETE r 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. Нули и изявлението MERGE:Трябва да задам стойност на безкрайност. как?

  2. Предпочитан метод за съхранение на пароли в базата данни

  3. Има ли някакви недостатъци винаги да използвате nvarchar(MAX)?

  4. Какво означава =*?

  5. SQL скрипт за промяна на ВСИЧКИ външни ключове за добавяне НА КАСКАДА ЗА ИЗТРИВАНЕ