как составить запрос так, чтобы удалить все строки, где логины повторяются, оставляя только одну из них, где id меньше всего.
Спустя 2 минуты, 52 секунды (15.01.2011 - 01:12) Snus написал(а):
Для этого есть UNIQUE в SQL. Упустил - теперь ручками в наказание
Спустя 22 часа, 38 минут, 16 секунд (15.01.2011 - 23:50) SlavaFr написал(а):
Спустя 6 минут, 54 секунды (15.01.2011 - 23:57) Arni написал(а):
Запрос такой составить не получится. Я бы писал алгоритм и циклом по 100 итераций например в заход перебрать всю таблицу.
Спустя 7 минут, 2 секунды (16.01.2011 - 00:04) SlavaFr написал(а):
Цитата (Arni @ 15.01.2011 - 20:57) |
Запрос такой составить не получится. |
почему?
Спустя 1 час, 9 минут, 9 секунд (16.01.2011 - 01:14) sergeiss написал(а):
Цитата (Arni @ 16.01.2011 - 00:57) |
Запрос такой составить не получится. |
Элементарно, Ватсон!
Спустя 10 часов, 24 минуты, 58 секунд (16.01.2011 - 11:39) Snus написал(а):
Можно поизвращаться и сделать так:
Создай новую таблицу с названием к примеру "users"
id | login
поле login сделай UNIQUE, а дальше делай просто SELECT из своей базы и в цикле пиши в новую таблицу:
Создай новую таблицу с названием к примеру "users"
id | login
поле login сделай UNIQUE, а дальше делай просто SELECT из своей базы и в цикле пиши в новую таблицу:
INSERT IGNORE INTO `users` (`id`, `login`) VALUES ('$id', '$login')
Спустя 2 часа, 5 минут, 47 секунд (16.01.2011 - 13:44) sergeiss написал(а):
Цитата (Guest @ 15.01.2011 - 02:09) |
как составить запрос так, чтобы удалить все строки, где логины повторяются, оставляя только одну из них, где id меньше всего. |
На самом деле, такой запрос составить не сложно. Я его напишу в "общем" виде
delete from table_for_deletion where id in ( а тут выбираем те id, которые надо удалить )
Спустя 1 минута, 24 секунды (16.01.2011 - 13:46) Snus написал(а):
sergeiss
А если их около 1000+ будет?
А если их около 1000+ будет?
Спустя 4 минуты, 58 секунд (16.01.2011 - 13:51) sergeiss написал(а):
Цитата (Snus @ 16.01.2011 - 14:46) |
А если их около 1000+ будет? |
И что из того, что их 1000+? На что это влияет?