6 Stimmen

wie man doppelte Zeilen aus einer Tabelle in mysql löscht

Ich muss doppelte Datensätze aus der Tabelle in Mysql löschen. Also ich habe eine Tabelle Name "Mitarbeiter" Felder sind empid, empname, empssn

um doppelte Datensätze zu erhalten, habe ich eine Abfrage geschrieben

SELECT COUNT(empssn), empssn FROM employee 
GROUP BY empssn 
HAVING COUNT(empssn) > 1

Jetzt möchte ich doppelte Datensätze löschen. Dafür habe ich Abfrage geschrieben ist.

DELETE FROM employee 
WHERE (empid, empssn) NOT IN (
    SELECT MIN(empid), empssn FROM employee 
    GROUP BY empssn
);

können Sie davon ausgehen, dass die Datensätze in der Tabelle

EmpId  EmpName  EmpSSN
-------------------------------
 1     Jack     555-55-5555
 2     Joe      555-56-5555
 3     Fred     555-57-5555
 4     Mike     555-58-5555
 5     Cathy    555-59-5555
 6     Lisa     555-70-5555
 7     Jack     555-55-5555
 8     Mike     555-58-5555
 9     Cathy    555-59-5555
10     Lisa     555-70-5555
11     Lisa     555-70-5555

aber ich habe einen mysql-Fehler ist

Sie können in der FROM-Klausel nicht die Zieltabelle 'employee' für die Aktualisierung angeben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X