Sepuka
Новичок
Удаление повторяющихся записей
Можно ли удалить из одной таблицы все повторяющиеся записи одним запросом? Я вижу как это сделать не одним
Можно ли удалить из одной таблицы все повторяющиеся записи одним запросом? Я вижу как это сделать не одним
PHP:
// создать временную таблицу
CREATE TABLE `tmp`
(`url` VARCHAR( 100 ) PRIMARY KEY ,
`cnt` INT ) ENGINE = MEMORY;
// вставить из обычной таблицы во временную все записи с их количеством повторений
INSERT INTO `tmp` ( `url` , `cnt` )
SELECT `url` , COUNT( `url` ) AS `cnt`
FROM `links` GROUP BY `url` ORDER BY `cnt` DESC ;
// удалить все которые повторяются больше 1го раза
DELETE FROM `links` WHERE `url` = ANY ( SELECT `url` FROM `tmp` WHERE `cnt` >1 );
DROP TABLE `tmp`;