sql >> Database teknologi >  >> RDS >> Mysql

Brug en CTE til at OPDATERE eller SLETTE i MySQL

Da CTE ikke kan opdateres, skal du henvise til den originale tabel for at slette rækker. Jeg tror, ​​du leder efter noget som dette:

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. SQL-ændringstabel

  2. Hvilken execute funktion skal jeg bruge i MySQL connector/c++?

  3. opret brugerdefineret funktion til datoforskel eksklusive weekender og helligdage i oracle sql

  4. Hvordan dropper man liste over tabel fra et skema i Oracle?