October 18
righe duplicate sono spesso inseriti in tabelle di database quando non c'è un vincolo in atto per evitare che la situazione. Talvolta questa è una situazione valida, mentre indica un problema in altre circostanze. Il linguaggio di interrogazione strutturato (SQL) utilizzato per accedere e manipolare database relazionali in grado di identificare le righe duplicate o semplicemente restituire dati univoci. I valori memorizzati nella chiave primaria deve sempre essere unico.
1 Emettere l'istruzione SELECT con una funzione di conteggio per determinare se esistono le righe duplicate nella tabella. In questo esempio, il "TEST_TABLE" comprende tre colonne denominate "col1", "col2" e "col3" con le seguenti righe:
AAA | BBB | CCC
AAA | BBB | DDD
AAA | BBB | CCC
Quando i seguenti "Seleziona" esegue statement, tutte le righe vengono restituite.
selezionare col1, col2, col3 da TEST_TABLE
2 Aggiungere un parametro "conteggio" e un "gruppo da" clausola per la "select" per identificare le righe duplicate. Il "gruppo da" racconta la query per arrotolare i dati utilizzando le colonne dopo il comando.
selezionare col1, col2, col3, COUNT (*) dal gruppo TEST_TABLE da col1, col2, col3
I risultati di questa ricerca sono:
AAA | BBB | CCC | 2
AAA | BBB | DDD | 1
A "conteggio" di "1" indica che la riga è unico, mentre ogni "count" che è maggiore di uno indica righe duplicate. In questo caso, due file hanno lo stesso valore.
Le file sono unici a questo punto. Rimuovere la "COUNT (*)" dopo il test se non è necessario.
3 Aggiungere un "avere" clausola per il "selezionare" dichiarazione di tirare solo singoli file o duplicare solo le righe.
selezionare col1, col2, col3, count () dal gruppo TEST_TABLE da col1, col2, avendo conteggio col3 () = 1
I risultati di questa ricerca sono:
AAA | BBB | DDD | 1
selezionare col1, col2, col3, count () dal gruppo TEST_TABLE da col1, col2, col3 avendo count ()> 1
I risultati di questa ricerca sono:
AAA | BBB | CCC | 2