У меня есть таблица «c31805», который выглядит следующим образом:Mysql Удаление дубликатов со следующими идентификаторами
| Id3| COL 1 |<br/>
|----|--------|<br/>
| 1 | trial1 |<br/>
| 2 | x142 |<br/>
| 3 | left |<br/>
| 4 | left |<br/>
| 5 | left |<br/>
| 6 | trial2 |<br/>
| 7 | x139 |<br/>
| 8 | left |<br/>
| 9 | left |<br/>
| 10 | trial3 |<br/>
|----|--------|<br/>
Есть ли способ, чтобы удалить дубликаты в этом случае «влево», которые следуют друг за другом непосредственно. Но не те, которые последуют позже. Конечный результат должен выглядеть следующим образом:
| Id3| COL 1 |<br/>
|----|--------|<br/>
| 1 | trial1 |<br/>
| 2 | x142 |<br/>
| 3 | left |<br/>
| 6 | trial2 |<br/>
| 7 | x139 |<br/>
| 8 | left |<br/>
| 10 | trial3 |<br/>
|----|--------|<br/>
Я попробовал выбрать, чтобы отфильтровать дубликаты:
`SELECT `Id3`
from c31805 a1
where 0 < (select count(*) from c31805 a2 where a2.Id3 = a1.Id3 + 1 and a2.`COL 1` = a1.`COL 1`);
Это похоже на работу.
Затем я попытался добавить удаления:
DELETE FROM c21705
where id3 in (SELECT `Id3` from c21705 m1 where 0 < (select count(*) from c31805 m2 where m2.Id3 = m1.Id3 + 1 and m2.`COL 1` = m1.`COL 1`));
Но это вызывает сообщение об ошибке:
«# 1093 - Таблица 'c21705' указан дважды, как в качестве мишени для ' DELETE 'и в качестве отдельного источника данных "
Есть ли способ достижения этой цели.