ș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 BY
clauza sauROW_NUMBER()
function. - utilizați instrucțiunea
DELETE
pentru 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
șiemail
coloane. - 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.