MySQL поддерживает DELETE с несколькими таблицами, что действительно здорово и может помочь здесь. Вы можете выполнить самостоятельное объединение на равенство всех столбцов, кроме id
, а затем удалить соответствующую строку с большим значением id
.
DELETE t2
FROM mytable t1 JOIN mytable t2
USING (column1, column2, column3) -- this is an equi-join
WHERE t1.id < t2.id;