[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: убрать дубликаты
Guest
предположим есть поля id и login

как составить запрос так, чтобы удалить все строки, где логины повторяются, оставляя только одну из них, где id меньше всего.



Спустя 2 минуты, 52 секунды (15.01.2011 - 01:12) Snus написал(а):
Для этого есть UNIQUE в SQL. Упустил - теперь ручками в наказание smile.gif

Спустя 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)
Запрос такой составить не получится.

Элементарно, Ватсон! smile.gif

Спустя 10 часов, 24 минуты, 58 секунд (16.01.2011 - 11:39) Snus написал(а):
Можно поизвращаться и сделать так:
Создай новую таблицу с названием к примеру "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+ будет? smile.gif

Спустя 4 минуты, 58 секунд (16.01.2011 - 13:51) sergeiss написал(а):
Цитата (Snus @ 16.01.2011 - 14:46)
А если их около 1000+ будет?

И что из того, что их 1000+? На что это влияет?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.