Hoe dubbele records in oracle te verwijderen
Bij het werken in Oracle kunt u merken dat sommige van uw records duplicaten hebben. U kunt deze dubbele rijen verwijderen door ze te identificeren en het ringide of rij-adres te gebruiken. Voordat u begint, moet u een back-uptabel maken voor het geval u ze moet verwijzen nadat u records hebt verwijderd.
Stappen
Methode 1 van 4:
Identificatie van uw duplicaat1. Identificeer het duplicaat. Identificeer in dit geval het voorbeeld duplicaat, "Alan." Zorg ervoor dat de records die u probeert te verwijderen eigenlijk duplicaten zijn door de SQL hieronder in te voeren.

2. Identificatie van een kolom met de naam "Namen." In het geval van een genaamd kolom "Namen," je zou vervangen "kolomnaam" met namen.

3. Identificatie van andere kolommen. Als je probeerde het duplicaat te identificeren door een andere kolom, bijvoorbeeld de leeftijd van Alan in plaats van zijn naam, zou je binnengaan "Eeuwenlang" in plaats van "kolomnaam" enzovoorts.
Select Column_Name, Count (Column_Name) van HableGroup door Column_NameHaving Count (Column_Name) > 1-
Methode 2 van 4:
Een enkel duplicaat verwijderen1. Selecteren "Naam van namen." Na "SQL," die staat voor standaard querytaal, enter "Selecteer Naam van namen."

2. Verwijder alle rijen met de dubbele naam. Na "SQL," invoeren "Verwijderen uit namen waar naam = `Alan`-." Merk op dat kapitalisatie hier belangrijk is, dus dit zal alle genoemde rijen verwijderen "Alan." Na "SQL," invoeren "commit."

3. Huurder de rij zonder dubbele. Nu u alle rijen hebt verwijderd met de voorbeeldnaam "Alan," je kunt er een invoegen door binnen te gaan "invoegen in naamwaarden (`Alan`)-." Na "SQL," invoeren "commit" om je nieuwe rij te maken.

4. Zie je nieuwe lijst. Nadat u de bovenstaande stappen hebt voltooid, kunt u controleren of u niet langer dubbele records hebt door binnen te gaan "Selecteer * van namen."
SQL > Selecteer Naam van namen-naam ------------------------------- ALANCARRIETOMALANOWS Geselecteerd.SQL > Verwijderen uit namen waar naam = `Alan`-Rows verwijderd.SQL > commit-commit compleet.SQL > Invoegen in namenwaarden (`Alan`) - rij gemaakt.SQL > commit-commit compleet.SQL > Selecteer * van namen-naam ------------------------------- Aancarrietomrows geselecteerd.
Methode 3 van 4:
Meerdere duplicaten verwijderen1. Selecteer de RowID die u wilt verwijderen. Na "SQL," invoeren "Selecteer RowID, naam van namen-."

2. Verwijder het duplicaat. Na "SQL," invoeren "Verwijderen uit namen A waar Rowid > (Selecteer Min (RowID) uit namen B waar B.naam = a.naam)-" Duplicate Records verwijderen.

3. Controleer op duplicaten. Nadat u het bovenstaande hebt voltooid, controleren opdrachten om te zien of u nog steeds dubbele records hebt door binnen te gaan "Selecteer RowID, naam van namen-" en dan "commit."
SQL > Selecteer RowID, naam van namen-nrineIDNAME ------------------------------------------- ------ AABJNSAAGAADFOAAA ALANAABJNSAAGAADFOAB ALANAABJNSAAGAADFOAAC CARIEAABJNSAAGAAADFOAAD TOMAABJNSAAGAADFOAAF Alanrows Geselecteerd.SQL > Verwijderen uit namen puller Rowid > (Selecteer Min (RowID) van namen bhque b.naam = a.naam) -Rows verwijderd.SQL > Selecteer RowID, naam van namen-nrineIDNAME ------------------------------------------- ------- AABJNSAAGAADFOAAA ALANAABJNSAAGAADFOAAC CARIEAABJNSAAGAAADFOAAD TOMROWS GESELECTEERD.SQL > commit-commit compleet.
Methode 4 van 4:
Rijen verwijderen met kolommen1. Selecteer je rijen. Na "SQL," invoeren "Selecteer * van namen-" om je rijen te zien.

2. Verwijder dubbele rijen door hun kolom te identificeren. Na "SQL `" invoeren "Verwijderen uit namen A waar Rowid > (Selecteer Min (RowID) uit namen B waar B.naam = a.naam en b.LEEFTIJD = A.leeftijd)-" om de dubbele records te verwijderen.

3. Controleer op duplicaten. Nadat u de bovenstaande stappen hebt voltooid, voert u in "Selecteer * van namen-" en dan "commit" Om te controleren of u de dubbele records met succes hebt verwijderd.
SQL > Selecteer * van namen-namage ---------------------------------------- ALAN50CARRIE51TOM52Alan50Oven geselecteerd.SQL > Verwijderen uit namen puller Rowid > (Selecteer Min (RowID) van namen bhque b.naam = a.nameand b.LEEFTIJD = A.LEEFTIJD) - ROW VERWIJDERD.SQL > Selecteer * van namen-namage --------------------------------------- ALAN50CARRIE51TOM52On.SQL > commit-commit compleet.
Tips
Waarschuwingen
Maak een back-uptabel in uw eigen aanmelding die u kunt gebruiken om te laten zien wat er was voordat een delete is opgetreden (in het geval dat er vragen zijn).
SQL > Maak een tafel Alan.NAMEN_BACKUP AS Selecteer * Van names-tabel gemaakt.
Deel in het sociale netwerk: