nehme an, es ist ein Mitarbeiter Tabellenspalten Name, ID und Gehalt, die 2 oder mehr als zwei Reihen mit gleichen Werten in allen drei Reihen ... dann, wie eine Abfrage schreiben doppelte Zeilen löschen ..SQL-Abfrage, um doppelte Zeilen aus derselben Tabelle zu löschen?
Antwort
Here ist eine schöne Art und Weise, wenn Sie SQL Server
with duplicates as
(select * ,ROW_NUMBER() over(
partition by id,name, salary
order by id,name, salary) rownum
from Person)
delete from duplicates where rownum > 1
+1 der Kommentar ist für mich die Chance zu erhöhen, den Link wieder zu finden, wenn ich es brauche. –
vorausgesetzt ID verwenden ist der Primärschlüssel:
delete P
from Person P right outer join
(
select name, min(id) as id
from Person
group by name
) unique_people
on P.id = unique_people.id
where P.id is NULL
DELETE TOP(1) FROM tablename WHERE columemane='name'
Supposin g Ich habe 2 doppelte Zeilen in Tabelle Schüler:
Name | Nummer | Nachname
Manoj | 1125256 | Sharma
Manoj | 1125256 |
SharmaIch möchte eine mit der folgenden Abfrage löschen
DELETE TOP(1) FROM student WHERE name='Manoj'
Dies funktioniert nur, wenn Sie zwei Zeilen haben, nicht, wenn Sie mehr doppelte Datensätze haben. –
u eindeutigen Schlüssel zu Ihrem Bereich einstellen können ... sonst können Sie alle doppelte Zeile von
löschen aus löschen Tabellenname wobei ID = @ ID und Name = @ Name
Fügen Sie die verschiedenen Zeilen aus der ursprünglichen Tabelle in neue temporäre Tabelle ein. Löschen Sie Daten aus der ursprünglichen doppelten Tabelle und fügen Sie dann die eindeutigen Zeilen aus der temporären Tabelle in die ursprüngliche Tabelle ein.
select distinct * into temp From Emp;
delete from Emp;
insert into Emp(name,ID,salary) as select * from temp;
drop table temp;
- 1. Cascade aus derselben Tabelle löschen
- 2. MSSQL Abfrage doppelte Zeilen aus einer Tabelle zu verlassen unterschiedliche Zeilen in der Tabelle löschen
- 3. Löschen Sie mehrere doppelte Zeilen in Tabelle
- 4. So löschen Sie doppelte Zeilen aus einer Tabelle in mysql
- 5. löschen doppelte Zeilen
- 6. Doppelte Zeilen löschen (nicht alle Duplikate löschen)
- 7. Löschen mehrerer Zeilen in derselben Abfrage
- 8. Pandas: löschen Sie doppelte Zeilen
- 9. Zeilen löschen aus der Tabelle nach Klassennamen
- 10. Löschen von doppelten Zeilen aus DB-Tabelle
- 11. löschen/bearbeiten Zeilen aus ODBC-Tabelle
- 12. Unix-Tool, um doppelte Zeilen aus einer Datei zu entfernen
- 13. Self Join, um vierteljährliche Daten aus derselben Tabelle zu vergleichen?
- 14. Jquery, um alle Zeilen aus der nächsten Tabelle zu entfernen
- 15. SQL-Abfrage, um nur eine doppelte Zeile zu löschen
- 16. SQL Server 2008: doppelte Zeilen löschen
- 17. aus derselben Tabelle
- 18. Löschen Doppelte Zeilen beim Gruppieren eines anderen
- 19. MySQL Weitere Zeilen in derselben Tabelle auswählen
- 20. Zeilen aus mehreren Tabellen löschen
- 21. Wie bekomme ich verwandte Zeilen aus derselben Tabelle?
- 22. löschen doppelte Datensätze aus einer SQL-Tabelle ohne Primärschlüssel
- 23. 4 Tabelle Abfrage/Join. doppelte Zeilen erhalten
- 24. Was ist der beste Weg in Android, um alle Zeilen aus einer Tabelle zu löschen
- 25. einer Zeile Reduzierung pro doppelte Zeile derselben Tabelle
- 26. Kaskade löschen auf Viele-zu-viele zwischen derselben Tabelle
- 27. awk Befehl, um doppelte Zeilen aus tcl-Datei zu löschen und in eine andere tcl-Datei zu drucken
- 28. Löschen Sie doppelte Paare in MySQL-Tabelle
- 29. SQL eine Tabelle mit Zeilen in derselben Tabelle zu aktualisieren, jedoch mit unterschiedlichen Kriterien
- 30. searchings Zeilen aus Tabelle
Ist das eine Hausaufgabenfrage? Es würde uns helfen, wenn Sie angeben, welche Datenbank Sie verwenden - da die Syntax abweichen könnte. –
id kann getäuscht werden? –
Neugierig, was ist der Primärschlüssel dieser Tabelle? Da typischerweise die meisten "ID" als Primärschlüssel verwenden. Wenn "ID" der Primärschlüssel ist. Wie haben Sie dann Duplikate? Klingt wie ein Problem mit der Einschränkung für den Primärschlüssel. –