Nwlapcug.com


Come eliminare i duplicati con Oracle SQL

Probabilità sono alte che se stai leggendo questo articolo, si utilizza un database Oracle e già scoperto i duplicati in uno o molti dei tuoi tavoli. Non preoccupatevi, eliminando i duplicati tramite codice SQL può essere fatto facilmente. Tuttavia, come molti buoni programmatori sanno, solo perché è possibile eliminare qualcosa non significa che si dovrebbe.

Istruzioni

1Come eliminare i duplicati con Oracle SQL


Aprite il vostro editor SQL e utilizzare un'istruzione "Select" standard di SQL per estrarre i record dalla tabella dove si pensa che esistono i duplicati. Nell'esempio di codice:
SQL > Select column1, column2 da yourtablename;
Nella figura 1, le colonne "Firstname" e "Usrid" sono state selezionate da una tabella denominata "contacts_ersch." Tenete a mente che questa tabella ha ulteriori colonne di informazioni che non vengono mostrati, come ultimi nomi e indirizzi e-mail. Prendere in considerazione come molti punti dati nella riga possibile affinché la riga duplicata che si sta trattando è veramente un duplicato.

2Come eliminare i duplicati con Oracle SQL


Verifica il duplicato utilizzando la funzione di "Contare" di SQL. Ci sono una moltitudine di modi per trovare e verificare i duplicati. Nella figura 1, ci sono due righe con il nome "David" e altri due con il nome "Natalie". Poiché questo è l'esempio ipotetico, sia David e Natalie sono voci duplicate. Il controllo di un unico punto dati come un nome di solito non è abbastanza così, di essere approfondita, l'intero record di contatto per ognuno di questi individui sono duplicati. L'unica differenza tra i record è il numero di "Usrid".
Un modo per eseguire un controllo con SQL prima di eliminare un record duplicato consiste nell'utilizzare la funzione di "Contare" di SQL per trovare il numero di volte che il valore esiste in una colonna. Figura 2 utilizza una variante del codice per trovare duplicati con SQL.
Per esempio alcuni codice: SQL > selezionare Colonna1,

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

Eliminare la riga duplicata utilizzando un'istruzione SQL "Elimina". Il codice può risultare simile al seguente:
SQL > Elimina dai yourtablename
Dove Colonna2 = valore scelto da Colonna2
La figura 3 Mostra l'uso della colonna "Usrid" e il valore corrispondente di sei per eliminare la voce duplicata per "Natalie". Idealmente, ci sarà un identificatore univoco che fa parte di un record duplicato. Un identificatore univoco in una riga, ad esempio un numero di indice o il numero di record sarà meglio preparare e consentono di decifrare tra i duplicati che si desidera eliminare.

4Come eliminare i duplicati con Oracle SQL


Verificare l'eliminazione ripetendo il passaggio 1. La figura 4 Mostra che con l'uso dell'istruzione SQL "Eliminare" entrambi i record duplicati per David e Natalie sono stati eliminati. Successivamente, vi è anche un evidente divario mostrato i numeri della colonna "Usrid".