sql >> Database >  >> RDS >> Mysql

Gebruik een CTE om te BIJWERKEN of VERWIJDEREN in MySQL

Aangezien de CTE niet kan worden bijgewerkt, moet u de oorspronkelijke tabel raadplegen om rijen te verwijderen. Ik denk dat je zoiets zoekt:

WITH ToDelete AS 
(
   SELECT ID,
          ROW_NUMBER() OVER (PARTITION BY lastName, firstName ORDER BY ID) AS rn
   FROM mytable
)   
DELETE FROM mytable USING mytable JOIN ToDelete ON mytable.ID = ToDelete.ID
WHERE ToDelete.rn > 1; 


  1. VEEL gegevens verwijderen in Oracle

  2. Selecteer in PL-SQL-fouten:INTO After Select

  3. Overeenkomende patronen tussen meerdere kolommen

  4. Hoe moet ik het interpreteren Selecteer Distinct aliasRefForMe.field1 From [email protected] aliasRefForMe