Eliminare un Solo Record Duplicato Eliminare i Record Duplicati Usando le Colonne della Tabella Eliminare Record Duplicati Multipli Identificare i Record Duplicati
Dopo il prompt dei comandi identificato dall'acronimo "SQL", che significa "Standard Query Language", digita la seguente query "select [nome_colonna] from [nome_tabella]". Dopo il prompt "SQL" inserisci la query "delete from names where name='Alan';". È bene precisare che in questo caso l'utilizzo delle lettere maiuscole è molto importante. La query usata in questo caso eliminerà solo i record relativi al nome "Alan". A questo punto digita il comando "commit" e premi il tasto "Invio". Adesso che hai cancellato tutti i record relativi al nome "Alan", puoi procedere a inserirne solo uno utilizzando la seguente query "insert into name values ('Alan');". Anche in questo caso, dopo aver eseguito la query, digita il comando "commit" e premi il tasto "Invio" per creare fisicamente il nuovo record. Dopo aver eseguito correttamente i passaggi descritti in questa sezione, controlla il contenuto della tabella in oggetto per essere sicuro che non contenga elementi duplicati. Utilizza la seguente query "select * from names".   SQL > select name from names; NAME ------------------------------ Alan Carrie Tom Alan rows selected. SQL > delete from names where name='Alan'; rows deleted. SQL > commit; Commit complete. SQL > insert into names values ('Alan'); row created. SQL > commit; Commit complete. SQL > select * from names; NAME ------------------------------ Alan Carrie Tom rows selected. Dopo il prompt "SQL", inserisci la seguente query "select * from names;". Verrà visualizzata la lista di tutti i record presenti nella tabella "names" (e delle relative colonne). Inserisci la seguente query "delete from names a where rowid > (select min(rowid) from names b where b.name=a.name and b.age=a.age);" dopo il prompt "SQL" per cancellare tutti i record duplicati. Dopo aver completato correttamente i passaggi precedenti, verifica se all'interno della tabella di esempio "names" sono presenti ancora dei record duplicati. Utilizza la seguente query SQL "select * from names;". Terminato il controllo, inserisci il comando "commit" e premi il tasto "Invio" per consolidare le modifiche.   SQL > select * from names; NAME                                  AGE ------------------------------ ---------- Alan                                   50 Carrie                                 51 Tom                                    52 Alan                                   50 rows selected. SQL > delete from names a where rowid > (select min(rowid) from names b where b.name=a.name and b.age=a.age ); row deleted. SQL > select * from names; NAME                                  AGE ------------------------------ ---------- Alan                                   50 Carrie                                 51 Tom                                    52 rows selected. SQL > commit; Commit complete. Dopo il prompt "SQL", inserisci la query "select rowid, name from names;". Utilizza la seguente query "delete from names a where rowid > (select min(rowid) from names b where b.name=a.name);" per individuare ed eliminare tutti i record duplicati. Dopo aver completato correttamente i passaggi precedenti verifica se all'interno della tabella di esempio "names" sono presenti ancora dei record duplicati. Utilizza la seguente query SQL "select rowid, name from names;". Terminato il controllo, inserisci il comando "commit" e premi il tasto "Invio" per consolidare le modifiche.   SQL > select rowid, name from names; ROWID              NAME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Alan rows selected. SQL > delete from names a where rowid > (select min(rowid) from names b where b.name=a.name ); rows deleted. SQL > select rowid, name from names; ROWID              NAME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom rows selected. SQL > commit; Commit complete. In questo articolo di esempio prenderemo in esame i record relativi al nome "Alan". Verifica la presenza effettiva di record duplicati utilizzando la query SQL mostrata alla fine di questa sezione dell'articolo. Per questo motivo il parametro "nome_colonna" della query SQL dovrà essere sostituito con il valore "Nome". Per esempio, se hai la necessità di utilizzare la colonna che contiene l'età anziché il nome, dovrai sostituire il parametro "nome_colonna" con il valore "Età" e così via, in base alla natura dei dati che devi manipolare.   select nome_colonna, count(nome_colonna)  from table nome_tabella group by nome_colonna having count (nome_colonna) > 1;
Seleziona tutti i record della tabella in esame in base alla colonna discriminante. Elimina tutti i record relativi al nome duplicato di esempio. Inserisci il record originale. Visualizza l'elenco dei record presenti nella tabella "name" dopo le modifiche. Visualizza l'elenco dei record presenti nella tabella "names" di esempio. Elimina i record duplicati identificandoli in base alle colonne della tabella. Controlla nuovamente se sono presenti dei record duplicati all'interno della tabella in esame. In questo caso, come discriminante per individuare i record duplicati, fai riferimento alla colonna "RowID" della tabella in oggetto. Elimina i record duplicati. Controlla nuovamente se sono presenti dei record duplicati all'interno della tabella in esame. Individua tutti i record duplicati presenti nella tabella in esame. In questo esempio la colonna discriminante che permette di identificare i record duplicati è la colonna "Nome". Usa altre colonne della tabella per individuare i record duplicati.
https://www.wikihow.com/Delete-Duplicate-Records-in-Oracle https://www.wikihow.com/Delete-Duplicate-Records-in-Oracle https://www.wikihow.com/Delete-Duplicate-Records-in-Oracle https://www.wikihow.com/Delete-Duplicate-Records-in-Oracle
Deleting a Single Duplicate Deleting Rows with Columns Deleting Multiple Duplicates Identifying your Duplicate