Cum să ștergeți înregistrările duplicate în Oracle
Când lucrați cu Oracle, pot apărea adesea înregistrări duplicate. Puteți elimina aceste rânduri duplicate identificându-le și utilizând propriile lor RowID (identificator de rânduri) sau adresa rândului. Înainte de a începe, trebuie să creați o copie de rezervă a tabelului în cazul în care trebuie să o revizuiți după ștergerea înregistrărilor.
conținut
pași
Metoda 1
Identificați înregistrările duplicate
1
Identificați înregistrările duplicate În acest caz, cazul va fi identificat "Alan" care apare de două ori în tabel. Asigurați-vă că înregistrările pe care încercați să le ștergeți sunt duplicate folosind următoarea instrucțiune SQL.
2
Identificați-le prin coloana numită "numele". De exemplu, dacă ați avut o coloană numită "numele", trebuie să le înlocuiți "COLUMN_NAME" de "numele".
3
Identificați-le prin alte coloane. Dacă ai de gând să încerce să identifice duplicat printr-o coloană diferită, de exemplu, uita la vârsta lui Alan, mai degrabă decât numele, introduceți "vârstele" în loc de "COLUMN_NAME" și așa mai departe.
SELECT column_name, COUNT (column_name) DIN GROUP TABEL DE column_name AVÂND COUNT (column_name) > 1-
Metoda 2
Ștergeți o singură valoare duplicat
1
Utilizați propoziția SELECT numele din numele. după SQL, ce vrei sa spui "Limba de interogare standard" (limba standardizată a consultărilor), scrieți SELECT numele din numele.
2
Ștergeți toate rândurile care conțin numele duplicat. după SQL, scrie fraza DELETE FROM nume WHERE nume = `Alan`. Rețineți că pentru a elimina toate coloanele cu numele "Alan" este important să scrieți prima literă în majuscule. după SQL, scrie COMMIT.
3
Introduceți rândul din nou, acum fără duplicat. Acum, că ați șters toate rândurile care au numele de exemplu "Alan", trebuie să introduceți încă o dată una prin propoziție INSCRIEȚI ÎN VALORILE de nume ("Alan") -. după SQL, scrie COMMIT pentru a crea noua coloană.
4
Uită-te la noua listă. Odată ce ați finalizat pașii de mai sus, puteți examina tabelul pentru a vă asigura că nu există înregistrări duplicate prin propoziție SELECT * FROM nume.
SQL > SELECT nume din nume-NAME ------------------------------ AlanCarrieTomAlanrows select.SQL > ștergeți de la nume unde name = `Alan`-lines deleted.SQL > comite-comite complete.SQL > inserați în valori de nume ("Alan") - rând creat.SQL > comite-comite complete.SQL > selectați * din numele-NAME ------------------------------ AlanCarrieTomrows selectat.
Metoda 3
Ștergeți mai multe înregistrări
1
Selectați RowID pe care doriți să îl ștergeți. după SQL, scrie SELECT ROWID, nume FROM nume-.
2
Eliminați înregistrările duplicate. după SQL, scrie Ștergeți din numele la WHERE ROWID > (SELECT MIN (ROWID) din numele b WHERE b.name = a.name) - pentru a elimina înregistrările duplicate.
3
Verificați dacă există duplicate. După ce ați finalizat pașii de mai sus, verificați dacă există în continuare înregistrări duplicate prin tastare SELECT ROWID, nume FROM nume- și apoi COMMIT.
SQL > SELECT ROWID, nume FROM nume-ROWID NAME ------------------ ----------------------- ------- AABJnsAAGAAAdfOAAA AlanAABJnsAAGAAAdfOAAB AlanAABJnsAAGAAAdfOAAC CarrieAABJnsAAGAAAdfOAAD TomAABJnsAAGAAAdfOAAF Alanrows selected.SQL > ștergeți de la nume și de la rowid > (selectați min (rowid) din nume și unde b.name = a.name) -rows deleted.SQL > selectați rowid, numele din nume-ROWID NAME ------------------ ----------------------- ------- AABJnsAAGAAAdfOAAA AlanAABJnsAAGAAAdfOAAC CarrieAABJnsAAGAAAdfOAAD Tomrows selected.SQL > Commit-Commit complet.}}
Metoda 4
Ștergeți rândurile prin coloane
1
Selectați rândurile după SQL, scrie SELECT * FROM nume- pentru a vedea rândurile.
2
Eliminați rândurile duplicate identificându-le prin coloanele lor. după SQL, scrie Ștergeți din numele la WHERE ROWID > (SELECT MIN (ROWID) din numele b WHERE b.name = a.name ȘI b.edad = a.edad) - pentru a elimina înregistrările duplicate.
3
Verificați dacă există duplicate. După ce ați finalizat pașii de mai sus, verificați dacă există în continuare înregistrări duplicate prin tastare SELECT ROWID, nume FROM nume- și apoi COMMIT pentru a verifica dacă înregistrările duplicate au fost șterse cu succes.
SQL > SELECT * FROM NAMES-NAME AGE --------------------------------------- Alan 50Carrie 51Tom 52Alan 50ROWS select.SQL > Ștergeți din numele aWHERE ROWID > (SELECT MIN (ROWID) DIN nume bwhere b.nombre = a.nombreAND b.age = a.age) -Row deleted.SQL > SELECT * FROM NAMES-NAME AGE --------------------------------------- Alan 50Carrie 51Tom 52ROWS selectat.SQL > COMMIT-COMMIT complet.
avertismente
- Creați o copie de rezervă de bord în sesiunea și să-l utilizați pentru a vedea ce datele din tabelul inițial au fost înainte de a șterge duplicate (dacă aveți vreun dubiu).
SQL > CREATE TABLE alan.names_backup CA SELECT * FROM names-TABLE creat.
Distribuiți pe rețelele sociale:
înrudit
- Cum se adaugă un antet în Excel
- Cum se adaugă un alt rând în Microsoft Word
- Modificarea coloanelor în InDesign
- Cum se pot găsi potrivirile de date în Excel
- Cum se creează un tabel simplu în Microsoft Word
- Cum se pot duplica obiecte în Pokemon roșu sau albastru
- Cum să ștergeți adresele web în Mozilla Firefox
- Cum să ștergeți duplicate în iTunes
- Cum să ștergeți duplicate în Excel
- Cum se pot găsi duplicate cu ușurință în Microsoft Access
- Cum se găsesc elementele duplicate în Excel
- Cum se scrie majuscule și litere mici în cod binar
- Cum se face o foaie de calcul Excel
- Cum se introduce un tabel într-un document Microsoft Word
- Cum se instalează Oracle Edition Express 11G
- Cum se instalează mod Master Controller în The Sims 3
- Cum se afișează coloane în Excel
- Cum se evită dublarea imaginilor pe computer
- Cum să găsiți înregistrări privind divorțul
- Cum se copiază o bucată de lemn sculptată în 3D
- Cum se înmulțește cu metoda de multiplicare prin duplicare