Если я правильно понял, то у тебя дубликаты в поле id.
1.Сделай бекап таблицы
2. Проверь строки которые будут удалены вот этим запросом
SELECT id FROM (SELECT id, ROW_NUMBER() OVER (PARTITION BY id ORDER BY id) AS row_num FROM dle_post) t WHERE row_num > 1;
3. Если все норм, удали дубликаты
DELETE FROM dle_post
WHERE id IN (SELECT id FROM (SELECT id, ROW_NUMBER() OVER (PARTITION BY id ORDER BY id) AS row_num FROM dle_post) t WHERE row_num > 1);
4. Создай уникальный индекс на поле id
CREATE UNIQUE INDEX dle_post_id_unq ON dle_post(id);
DELETE FROM dle_post
WHERE id IN (SELECT id FROM (SELECT id, ROW_NUMBER() OVER (PARTITION BY id ORDER BY id) AS row_num FROM dle_post) t WHERE row_num > 1);