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

Използвайте CTE за АКТУАЛИЗИРАНЕ или ИЗТРИВАНЕ в MySQL

Тъй като CTE не може да се актуализира, трябва да се обърнете към оригиналната таблица, за да изтриете редове. Мисля, че търсите нещо подобно:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Търсене на свързано поле

  2. vBulletin като вход за целия уебсайт (редактиране:постигнат е известен напредък)

  3. Стойността на часовата зона на сървъра „CEST“ не е разпозната

  4. Таблица за оптимизиране на MYSQl с публикации в блогове с коментари

  5. проблем с кодирането на база данни? Показват се двойни и единични кавички с въпросителни знаци