Heim >Datenbank >MySQL-Tutorial >Wie lösche ich doppelte Datensätze in einer SQL-Tabelle ohne Primärschlüssel?
Doppelte Datensätze in SQL-Tabelle ohne Primärschlüssel löschen
Wenn kein Primärschlüssel vorhanden ist, kann die Identifizierung doppelter Datensätze in einer Datenbank eine Herausforderung darstellen . Die Verwendung einer Kombination aus Fensterfunktionen und logischen Operatoren ermöglicht jedoch das effiziente Löschen von Duplikaten.
Im bereitgestellten Beispiel besteht das Ziel darin, Datensätze aus der Employee-Tabelle zu entfernen, die dieselben EmpId- und EmpSSN-Werte haben. Um dies zu erreichen:
ROW_NUMBER() OVER (PARTITION BY EmpId, EmpName, EmpSSN ORDER BY EmpId) cnt
SELECT SUB FROM (SELECT ROW_NUMBER() OVER (PARTITION BY EmpId, EmpName, EmpSSN ORDER BY EmpId) cnt FROM Employee) SUB WHERE SUB.cnt > 1
DELETE SUB FROM (SELECT ROW_NUMBER() OVER (PARTITION BY EmpId, EmpName, EmpSSN ORDER BY EmpId) cnt FROM Employee) SUB WHERE SUB.cnt > 1
Durch Befolgen dieser Schritte werden die doppelten Datensätze effektiv aus der Mitarbeitertabelle gelöscht, wodurch die Integrität der Daten sichergestellt wird, ohne dass ein Primärschlüssel erforderlich ist.
Das obige ist der detaillierte Inhalt vonWie lösche ich doppelte Datensätze in einer SQL-Tabelle ohne Primärschlüssel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!