Oddsen är höga att om du läser den här artikeln , är du använder en Oracle-databas och redan upptäckt dubbletter i en eller flera av dina tabeller . Inte oroa sig , kan eliminera dubbletter genom din SQL-kod vara lätt gjort . Men så många bra programmerare vet , bara för att du kan ta bort något betyder inte att du borde. Saker du behöver
Oracle databas
Oracle SQL * Plus redaktör
Visa fler instruktioner
1
Öppna din SQL editor och använda en vanlig SQL " Select " uttalande att dra upp poster från bordet där du tror att dubbletter existerar . Kodexempel : ; " . Contacts_ersch " SQL > Välj kolumn1 , kolumn2 från yourtablename I figur 1 , har " Förnamn " och " Usrid " kolumner valts ut från en tabell med namnet Tänk på detta bord har ytterligare kolumner med information som inte är som visas , t.ex. e-postadresser och efternamn . Ta hänsyn till så många datapunkter i rad som möjligt för att säkerställa den dubbla raden du arbetar med verkligen är en dubblett .
2
Kontrollera duplikat med SQL " Count " -funktion . Det finns mängder av sätt att hitta och kontrollera dubbletter . I figur 1 finns det två rader med namnet " David " och ytterligare två med namnet "Natalie . " Eftersom detta är hypotetiskt exempel , både David och Natalie är dubbletter . Kontroll bara en datapunkt som ett förnamn är oftast aldrig nog så , att vara noggrann , hela kontakten post för varje av dessa individer är dubbletter . Den enda skillnaden mellan posterna är " Usrid " number.One sätt att utföra en kontroll med SQL innan du raderar en dubblett post är att använda SQL " Count " -funktionen för att hitta antalet gånger värdet finns i en kolumn . Figur 2 använder en variant av koden för att hitta dubbletter med SQL.Some kod till exempel : SQL > Välj kolumn1 , Count ( Kolumn1 ) Som NumOccurrencesFrom yourtablenameGroup By column1Having ( Count ( Kolumn1 ) > 1 ) ,
3
Radera dubbletter rad via en SQL " Delete " uttalande . Din kod kan se ut ungefär så här : " . Natalie " SQL > Radera från yourtablenameWhere kolumn2 = värde du väljer column2Figure 3 visar användningen av " Usrid " kolumnen och dess motsvarande värde av sex för att ta bort den dubblerade posten för Helst ska det vara en unik identifierare som är en del av en dubblettpost . En unik identifierare i rad som ett indextal eller rekordmånga kommer att bättre förbereda och ger dig möjlighet att dechiffrera bland dubbletter som du vill ta bort .
4
Kontrollera din raderingen genom att upprepa steg 1 . Figur 4 visar att med hjälp av SQL " Delete " uttalande båda dubbla poster för David och Natalie har strukits. Därefter finns det också en uppenbar klyfta framgår av antalet av " Usrid " kolumnen .