| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > одинаковые ряды в таблице |
| Автор: AlexxO 18.7.2005, 19:12 |
| Посоветуйте плиз как лучше удалить одинаковые (отличаются только по id) ряды в таблице. перебирать их в цикле while ИМХО не оптимально, может каким SQL запросом можно прблему решить? |
| Автор: Irokez 18.7.2005, 19:22 | ||
по идее можно было бы так:
но почему то не работает =( |
| Автор: Mal Hack 18.7.2005, 19:49 |
| А не проще НЕ ДОПУСКАТЬ повтора? |
| Автор: Bikutoru 19.7.2005, 10:32 | ||||||||||
Одним запросом выбрать одинаковые записи можно так:
и если у тебя MySQL 4.0 и выше то так
Если более старая, то скриптом формируешь запрос типа
Irokez, а твой запрос и не может работать.
|
| Автор: Irokez 19.7.2005, 12:36 | ||||
почему? .. проблема вроде в синтаксисе, может мускул не поддерживает вложенные запросы?
должен выбрать уникальные id, а все остальные удаляем.. по логике вроде все правильно |
| Автор: Bikutoru 19.7.2005, 15:28 | ||
DISTINCT просто выдает набор значений без повторов. Т.е. если в таблице table есть записи с значениями поля field 1, 2, 4, 5, 2, 5, то
|
| Автор: o.s.a. 19.7.2005, 19:15 | ||
так ведь id и так уникальные, другие поля одинаковые => по ним нужно проверять |
| Автор: Joes 19.7.2005, 19:38 |
| http://www.isp.idknet.com/development/interbase/devinfo/deldupes.htm |
| Автор: Irokez 19.7.2005, 19:40 |
| Bikutoru ок ступил.. признаю ошибку |