sql >> Database >  >> RDS >> Sqlserver

Verwijderen van dubbele records met slechts één zoekopdracht

Een ROW_NUMBER gebruiken in een CTE stelt u in staat dubbele waarden te verwijderen met behoud van unieke rijen.

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. Foutafhandeling beheren tijdens het uitvoeren van sqlplus vanuit shellscripts

  2. Hoe verbinding maken met MySQL met behulp van UTF8 in een perl-script?

  3. UPSERT in tabel met dynamische tabelnaam

  4. Werken met een groot CSV-bestand in MATLAB