TAGAN
|
|
|
|
|
Рег.: 11.02.2006
|
Сообщений: 2552
|
|
Рейтинг: 854
|
|
Re: [SQL] Из вопросов на собеседовании: как удалить дубликаты?
[re: fedechka]
23.05.2012 03:57
|
|
|
бля, я сделал это. давайте мою гребаную печеньку.
DELETE from tbl WHERE not EXISTS ( SELECT q.ID FROM ( select min(b.id) id from tbl b group by b.user, b.thing ) q where tbl.id = q.id );
|
|
fedechka
|
|
|
|
|
Рег.: 10.09.2004
|
Сообщений: 58783
|
Из: Отрадное
|
Рейтинг: 10953
|
|
Re: [SQL] Из вопросов на собеседовании: как удалить дубликаты?
[re: TAGAN]
23.05.2012 08:37
|
|
|
вот же ж:) Как, оказывается, все depends от реализации и версии
Ну, лови, раз обещал:
|
без подписи |
|
AHTOlllKA
|
плАнтошка
|
|
|
|
Рег.: 24.05.2004
|
Сообщений: 7002
|
|
Рейтинг: 9748
|
|
Re: [SQL] Из вопросов на собеседовании: как удалить дубликаты?
[re: fedechka]
23.05.2012 20:52
|
|
|
может по rowid?
Хотя это будет не анси, они у всех по разному декларируются, зато не привязаны ко всяким суррогатным ID
delete from table_1 a where rowid not in (select min(rowid), user, thing from table_1 b where a.user = b.user and a.thing = b.thing group by user, thing)
|
|
DDD2
|
sir
|
|
|
|
Рег.: 23.11.2007
|
Сообщений: 1103
|
|
Рейтинг: 246
|
|
Re: [SQL] Из вопросов на собеседовании: как удалить дубликаты?
[re: AHTOlllKA]
28.05.2012 14:34
|
|
|
|