ștergeți duplicatele dintr-un tabel din SQL Server
rezumat: în acest tutorial, veți învăța cum să ștergeți rândurile duplicate dintr-un tabel din SQL Server.
Pentru a șterge duplicat rânduri din tabel în SQL Server, urmați acești pași:
- de a Găsi duplicat rânduri folosind
GROUP BYclauza sauROW_NUMBER()function. - utilizați instrucțiunea
DELETEpentru a elimina rândurile duplicate.
să stabilim un tabel de probă pentru demonstrație.,
configurarea unui eșantion de masă
în Primul rând, a crea un nou tabel numit sales.contacts după cum urmează:
în al Doilea rând, introduce câteva rânduri în sales.contacts tabel:
în al Treilea rând, date de interogare de la sales.contacts tabel:
Code language: SQL (Structured Query Language) (sql)
imaginea următoare arată ieșirea din interogare:
Există multe rânduri duplicat (3,4,5), (6,7), și (8,9) pentru contactele care au același prenume, numele de familie, și e-mail.,
Ștergerea rândurilor duplicate dintr-un tabel exemplu
următoarea declarație folosește o masă comună de exprimare (CTE) pentru a șterge duplicat rânduri:
În această declarație:
- în Primul rând, CTE foloseste
ROW_NUMBER()funcția de a găsi rândurile duplicat specificat de valori înfirst_name,last_nameșiemailcoloane. - apoi, instrucțiunea
DELETEșterge toate rândurile duplicate, dar păstrează doar o singură apariție a fiecărui grup duplicat.,SQL Server a emis următorul mesaj care indică faptul că rândurile duplicate au fost eliminate.dacă interogați din nou datele din tabelul
sales.contacts, veți constata că toate rândurile duplicate sunt șterse.În acest tutorial, ai învățat cum de a eliminarea rândurilor duplicate dintr-un tabel în SQL Server.