
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
23.09.2004, 17:41
|
|||
|---|---|---|---|
|
|||
SQL - удаление дубликатов. |
|||
|
#18+
Задачка проста. В таблице 3 поля: id, fname, lname. Нужно убрать все строки, где fname + lname повторяются, точнее, должна остаться одна строка, а все ее дубликаты удалить. Уже час мучаюсь, ничего не выходит. Помогите! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.09.2004, 17:53
|
|||
|---|---|---|---|
SQL - удаление дубликатов. |
|||
|
#18+
Если я правильно понял задачу - то скорей всего так: DELETE FROM table WHERE fname = lname ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.09.2004, 19:10
|
|||
|---|---|---|---|
SQL - удаление дубликатов. |
|||
|
#18+
Skoree vsego tak (esli id - nomer): DELETE * FROM Table WHERE id NOT in (SELECT max(id) FROM Table GROUP BY fname, lname) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.09.2004, 19:15
|
|||
|---|---|---|---|
|
|||
SQL - удаление дубликатов. |
|||
|
#18+
Код: plaintext Это даст список id, которые повторяются (если хочешь минимальную из повторяющихся - поставь в запросе MIN(id)). А потом любым скриптовым языком подставь эти id в такой запрос Код: plaintext Это удалит только один дубликат:) Перейти к началу сего текста, пока первый запрос что-то вернёт... Другие предложения? Это не оч. красивое решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.09.2004, 13:56
|
|||
|---|---|---|---|
SQL - удаление дубликатов. |
|||
|
#18+
Есчо есть мой любимый вариант - отсечение по ключу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.09.2004, 16:12
|
|||
|---|---|---|---|
|
|||
SQL - удаление дубликатов. |
|||
|
#18+
RiskaSkoree vsego tak (esli id - nomer): DELETE * FROM Table WHERE id NOT in (SELECT max(id) FROM Table GROUP BY fname, lname) Это то, что надо. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2005, 16:19
|
|||
|---|---|---|---|
|
|||
SQL - удаление дубликатов. |
|||
|
#18+
нашёл в синтаксисе ALTER TABLE Код: plaintext Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2005, 17:53
|
|||
|---|---|---|---|
SQL - удаление дубликатов. |
|||
|
#18+
Bobik RiskaSkoree vsego tak (esli id - nomer): DELETE * FROM Table WHERE id NOT in (SELECT max(id) FROM Table GROUP BY fname, lname) Это то, что надо. Спасибо! delete * from table ??? что то новое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2005, 17:12
|
|||
|---|---|---|---|
|
|||
SQL - удаление дубликатов. |
|||
|
#18+
Народ, вы прежде чем отвечать тестить ответы не пробовали, а то написано, кто во что горазд. fname + lname? Это уникальность по обоим полям одновременно? тогда в решении BigHarry надо unique key ставить по 2 полям сразу а не в отдельности. Опять таки в вопросе надо указывать версию мускуля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1854345]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 459ms |

| 0 / 0 |
