Спустя 5 минут, 12 секунд (29.06.2011 - 18:35) waldicom написал(а):
Один из простых (и поэтому не самых красивых) способов выбрать в промежуточную таблицу только уникальные строки, а потом переименовать новую в старую. Но такой способ подходит не всегда.
Спустя 4 минуты, 9 секунд (29.06.2011 - 18:39) UninstallZX написал(а):
Не подходит.
Спустя 4 минуты, 51 секунда (29.06.2011 - 18:44) bulgakov написал(а):
Может вам DISTINCT подойдет?
Спустя 10 секунд (29.06.2011 - 18:44) waldicom написал(а):
Тогда можно накидать простенький скриптик, который удалит дубликаты.
Спустя 1 минута, 8 секунд (29.06.2011 - 18:45) UninstallZX написал(а):
Насколько я знаю DISTINCT их только отфильтрует, а мне нужно именно удалить
Спустя 1 минута, 49 секунд (29.06.2011 - 18:47) waldicom написал(а):
Цитата (UninstallZX @ 29.06.2011 - 16:45) |
Насколько я знаю DISTINCT их только отфильтрует, а мне нужно именно удалить |
А если выполнить group by в подзапросе и удалить только те строки, в которых первичный ключ не входит в подмножество из подзапроса?
Спустя 2 минуты, 11 секунд (29.06.2011 - 18:49) UninstallZX написал(а):
waldicom, пример можно? А то я не очень понял.
Спустя 2 минуты, 27 секунд (29.06.2011 - 18:51) waldicom написал(а):
что-то примерно в сторону этого (не проверял, интересно будет проверить):
delete from table where id not in (select id from table group by id);
Спустя 6 часов, 3 минуты, 5 секунд (30.06.2011 - 00:54) UninstallZX написал(а):
Не сильно помогло. Может еще варианты будут?
Спустя 2 минуты, 38 секунд (30.06.2011 - 00:57) waldicom написал(а):
Почему не походит вариант с промежуточной таблицей?
Спустя 3 часа, 19 минут, 39 секунд (30.06.2011 - 04:17) olgatcpip написал(а):
у меня была подобная задача.
Вот что мне посоветовал наш бдшник
В таблице создать поле - уникальное. И заполнить его 1, 2, 3,...
а когда получаешь 2 одинаковые записи, если нет разницы. удалять . например, с меньшим этим новым значением. потом новое поле удалить.
Вариант waldicom мне больше нравится. )
Вот что мне посоветовал наш бдшник
В таблице создать поле - уникальное. И заполнить его 1, 2, 3,...
а когда получаешь 2 одинаковые записи, если нет разницы. удалять . например, с меньшим этим новым значением. потом новое поле удалить.
Вариант waldicom мне больше нравится. )