Hoe te verwijderen van duplicaten met Oracle SQL

Kansen zijn hoog dat als je dit artikel aan het lezen bent, u een Oracle-database gebruikt en al de dubbele waarden in een of meerdere van uw tabellen ontdekt. Geen zorgen, te kan elimineren van duplicaten door uw SQL-code eenvoudig worden gedaan. Echter zoals vele goede programmeurs weten, enkel omdat u kunt iets betekent niet dat je moet.

Instructies

1Hoe te verwijderen van duplicaten met Oracle SQL


Open uw SQL-editor en een standaard "Select" SQL-instructie gebruiken om records uit de tabel optrekken waar je denkt dat de duplicaten voorkomen. Codevoorbeeld:
SQL > Selecteer Kolom1, kolom2 van yourtablename;
In figuur 1, zijn de kolommen "Voornaam" en "Usrid" geselecteerd uit een tabel met de naam "contacts_ersch." Houd in gedachten die deze tabel heeft extra kolommen van informatie die niet wordt weergegeven, zoals e-mailadressen en achternamen. Rekening houden met zoveel gegevenspunten in de rij mogelijk om ervoor te zorgen de dubbele rij, die bent u omgaan met echt een duplicaat.

2Hoe te verwijderen van duplicaten met Oracle SQL


Controleer het duplicaat met behulp van de functie SQL "Count". Er zijn menigten van manieren te vinden en te controleren van duplicaten. In figuur 1 zijn er twee rijen met de naam "David" en nog eens twee met de naam "Natalie." Aangezien dit hypothetisch voorbeeld, zijn zowel David en Natalie dubbele vermeldingen. Slechts één gegevenspunt controleren, zoals een voornaam is meestal nooit genoeg dus, om het grondig, de gehele contactpersoonrecord voor elk van deze personen zijn identiek. Het enige verschil tussen de records is het nummer "Usrid".
Een manier om een controle met SQL uitvoeren voordat u een dubbele record verwijdert is de SQL "Count" functie gebruiken om het aantal keren de waarde bestaat in een kolom te vinden. Figuur 2 maakt gebruik van een variatie van code voor het vinden van duplicaten met SQL.
Sommige code bijvoorbeeld: SQL > Selecteer Kolom1,

Count (column1) As NumOccurrences
From yourtablename
Group By column1
Having (Count (column1) > 1);
3Hoe te verwijderen van duplicaten met Oracle SQL

Verwijder de dubbele rij met behulp van een SQL-instructie "Delete". Uw code kan lijken op dit:
SQL > verwijderen uit yourtablename
Waar Kolom2 = waarde die u kiest in kolom2
Figuur 3 toont het gebruik van de "Usrid"-kolom en de bijbehorende waarde van zes naar Verwijder de dubbele vermelding voor "Natalie." In het ideale geval zal er een unieke id die deel uitmaakt van een dubbele record. Een unieke id in een rij zoals een recordnummer of het indexnummer zal beter voor te bereiden en u toelaten om te ontcijferen onder de duplicaten die u wilt verwijderen.

4Hoe te verwijderen van duplicaten met Oracle SQL


Controleer uw verwijderen door stap 1 te herhalen. Figuur 4 ziet u dat met het gebruik van de SQL-instructie "Delete" zowel van de dubbele records voor David en Natalie zijn verwijderd. Vervolgens is er ook een duidelijk verschil weergegeven in de getallen van de "Usrid"-kolom.