Come eliminare i duplicati con Oracle SQL

March 24

Le probabilità sono alte che se stai leggendo questo articolo, si utilizza un database Oracle e già scoperto i duplicati in uno o molti dei vostri tavoli. Non c'è da preoccuparsi, i duplicati eliminando attraverso il codice SQL può essere fatto facilmente. Tuttavia, come molti buoni programmatori sanno, solo perché si può cancellare qualcosa non significa che si dovrebbe.

istruzione

1 Come eliminare i duplicati con Oracle SQL


Aprite il vostro editor SQL e utilizzare un SQL standard "select" per tirare su i record della tabella in cui si pensa esistano i duplicati. Esempio di codice:
SQL> Seleziona column1, column2 da yourtablename;
Nella figura 1, le colonne e "Nome" "usrid" sono stati selezionati da una tabella denominata "contacts_ersch." Tenete a mente questa tabella ha ulteriori colonne di informazioni che non vengono mostrati, come indirizzi email e cognome. Prendere in considerazione in quanto molti punti di dati nella riga più possibile per garantire la riga duplicata avete a che fare con veramente è un duplicato.

2 Come eliminare i duplicati con Oracle SQL


Controllare il duplicato utilizzando la funzione SQL "Conteggio". Ci sono moltitudini di modi per trovare e controllare i duplicati. In figura 1, sono presenti due file con il nome "David" e altri due con il nome "Natalie". Poiché questo è esempio ipotetico, sia David e Natalie sono le voci duplicate. Controllo solo un punto di dati come ad esempio un nome di solito è mai abbastanza così, di essere approfondita, l'intero record di contatto per ciascuno di questi individui sono duplicati. L'unica differenza tra i record è il numero "usrid".
Un modo per eseguire un controllo con SQL prima di eliminare un record duplicato è quello di utilizzare la funzione SQL "conte" per trovare il numero di volte che il valore esiste in una colonna. Figura 2 utilizza una variante di codice per trovare i duplicati con SQL.
Alcuni codice per esempio: SQL> Seleziona column1,

Count (column1) As NumOccurrences
From yourtablename
Group By column1
Having (Count (column1) > 1);
3 Come eliminare i duplicati con Oracle SQL

Eliminare la riga duplicato utilizzando un SQL "Elimina" dichiarazione. Il codice può essere simile a questo:
SQL> Elimina dal yourtablename
Dove column2 = valore di scegliere tra column2
La Figura 3 mostra l'uso della colonna "usrid" e il suo corrispondente valore di sei per eliminare la voce duplicata per "Natalie". Idealmente, ci sarà un identificatore unico che è parte di un record duplicato. Un identificatore univoco di fila, come un numero di indice o il numero di registrazione sarà meglio prepararsi e consentono di decifrare tra i duplicati che si desidera eliminare.

4 Come eliminare i duplicati con Oracle SQL


Controlla la tua eliminazione ripetendo passo 1. La figura 4 mostra che con l'uso di SQL "Cancella" dichiarazione entrambi i record duplicati per David e Natalie sono stati cancellati. Successivamente, vi è anche un vuoto apparente mostrato nei numeri della colonna "usrid".