











Rimuovere i dati duplicati in oracle
Contenuto
Se lavori in Oracle, alcuni dei tuoi dati potrebbero essere visualizzati più volte. Puoi rimuovere questi duplicati identificandoli e utilizzando il loro indirizzo di riga. Prima di iniziare, fai una copia della tabella nel caso in cui sia necessario fare riferimento ad essa dopo aver eliminato i dati.
Passi
Metodo 1 di 4: Rileva duplicati

1. Identifica il duplicato. In questo caso, identificare il duplicato del campione, `Alan`. Assicurati che i record che stai tentando di eliminare siano effettivamente duplicati immettendo il comando SQL di seguito.

2. Cerca in una colonna `Nomi`. Nel caso di una colonna `Nomi`, compilala per `nome_colonna`.

3. Cerca in altre colonne. Se provi a trovare duplicati in un`altra colonna, dì l`età di Alan invece del suo nome, puoi mettere "Età" prima di "nome_colonna", ecc.
seleziona nome_colonna, conteggio (nome_colonna) dal gruppo di tabelle per nome_colonna con conteggio (nome_colonna) > 1;
Metodo 2 di 4: Elimina un singolo duplicato

1. Seleziona "nomi dai nomi". Dopo `SQL` (Standard Query Language) digita `seleziona il nome dai nomi`.

2. Elimina tutte le righe con il nome duplicato. Dopo `SQL` digita `cancella da nomi dove nome=`Alan`;`. Nota che la maiuscola è importante qui, quindi questo rimuoverà tutte le righe denominate "Alan". Digita "commit" dopo "SQL".

3. Immettere di nuovo la riga senza un duplicato. Ora che hai eliminato tutte le righe con il nome di esempio `Alan`, puoi reinserirne una inserendo `insert in name values (`Alan`);.` Dopo `SQL` digita `commit` per creare la nuova riga.

4. Dai un`occhiata alla tua nuova lista. Una volta completati i passaggi precedenti, puoi verificare se non hai dati duplicati con il comando `seleziona *da nomi`.
SQL > seleziona il nome dai nomi; NOME ------------------------------------------- Alan Carrie Tom Alan righe selezionate. SQL > cancella dai nomi dove nome=`Alan`; righe cancellate. SQL > commettere; Impegno completo. SQL > inserisci nei nomi valori(`Alan`); riga creata. SQL > commettere; Impegno completo. SQL > seleziona *dai nomi; NAME ----------------------------- Alan Carrie Tom righe selezionate.
Metodo 3 di 4: rimuovi più duplicati

1. Seleziona l`indirizzo della riga (ID riga) che desideri eliminare. Dopo `SQL` digita `select rowid, name from names;`.

2. Elimina il duplicato. Dopo `SQL` digita `cancella dai nomi a where rowid > (seleziona min(rowid) dai nomi b dove b.nome=a.nome);` per rimuovere duplicati di dati.

3. Verifica la presenza di duplicati. Dopo aver completato quanto sopra, controlla se hai ancora dati duplicati digitando "select rowid, name from names;" e poi "impegnati".
SQL > seleziona rowid, nome dai nomi; ROWIDNAME ------------------ ----------------------------- AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Alan righe selezionate. SQL > elimina dai nomi a where rowid > (seleziona min(rowid) dai nomi b dove b.nome=a.nome ); righe cancellate. SQL > seleziona rowid, nome dai nomi; ROWIDNAME ------------------ ----------------------------- AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom righe selezionate. SQL > commettere; Impegno completo.
Metodo 4 di 4: Elimina righe di colonne

1. Seleziona le righe. Dopo `SQL` digita `select *from names;` per vedere le righe scelte.

2. Rimuovi le righe duplicate identificando la loro colonna. Dopo `SQL` digita `cancella dai nomi a where rowid > (seleziona min(rowid) dai nomi b dove b.nome=a.nome e b.età=a.età);` per rimuovere i dati duplicati.

3. Verifica la presenza di duplicati. Dopo aver completato i passaggi precedenti, digita `select *from names;` e quindi "commit" per verificare se hai rimosso con successo tutti i dati duplicati.
SQL > seleziona *dai nomi; NAMEAGE ---------------------------------- ---------- Alan50 Carrie51 Tom52 Alan50 righe selezionate. SQL > elimina dai nomi a where rowid > (seleziona min(rowid) dai nomi b dove b.nome=a.nome e b.età=a.età ); riga cancellata. SQL > seleziona *dai nomi; NAMEAGE ---------------------------------- ---------- Alan50 Carrie51 Tom52 righe selezionate. SQL > commettere; Impegno completo.
Avvertenze
- Fai un backup della tabella con il tuo login che puoi usare per mostrare com`era la situazione prima dell`eliminazione (nel caso in cui vengano poste domande).
SQL > crea tabella alan.backup_nomi come seleziona *da nomi; Tavola creata.
Articoli sull'argomento "Rimuovere i dati duplicati in oracle"
Condividi sui social network:
Simile
Popolare