2014-01-15 5 views
10

Ich habe eine Personen-Tabelle mit Duplikat-Person mit unterschiedlicher ID eingefügt. Ich möchte die Person mit doppelten Namen löschen und nur die Person mit der Mindest-ID behalten. für eG Der Datensatz für Absalon mit der ID 18398 sollte beibehalten werden und alle anderen Duplikate werden gelöscht.Löschen von Duplikaten unter Beibehaltung der Mindest-ID

enter image description here

+0

möglich Duplikat [Entfernen von doppelten Zeilen aus der Tabelle in Oracle] (http://stackoverflow.com/questions/529098/removing-duplicate-rows-from-table-in- oracle) – danihp

Antwort

12

DELETE FROM persons WHERE id NOT IN (SELECT MIN(id) FROM persons GROUP BY name)

+0

Ich erhalte eine Fehlermeldung mit mysql Ver 14.14 Distrib 5.5.52: mysql> delete von domain_map, wo id nicht drin ist (wähle min (id) von domain_map group nach domain); FEHLER 1093 (HY000): Sie können die Zieltabelle 'domain_map' für die Aktualisierung in der FROM-Klausel nicht angeben. – abatie

+0

@abatie Bitte stellen Sie eine neue Frage mit mysql, da es sich nicht um mysql handelte und jeder SQL-Dialekt anders ist . – Alexander

+0

@abatie Oder Sie möchten vielleicht https://stackoverflow.com/questions/6471463/how-to-delete-duplicates-in-sql-table-based-on-multiple-fields – Alexander

Verwandte Themen