











Verwyder duplikaatdata in oracle
Inhoud
As jy in Oracle werk, kan sommige van jou data verskeie kere verskyn. Jy kan hierdie duplikate verwyder deur hulle te identifiseer en hul ryadres te gebruik. Voordat jy begin, maak `n kopie van die tabel vir ingeval jy daarna moet verwys nadat jy die data uitgevee het.
Trappe
Metode 1 van 4: Bespeur duplikate

1. Identifiseer die duplikaat. In hierdie geval, identifiseer die monster duplikaat, `Alan`. Maak seker dat die rekords wat jy probeer uitvee eintlik duplikate is deur die SQL-opdrag hieronder in te voer.

2. Soek in `n kolom `Name`. In die geval van `n kolom `Name`, vul dit in vir `kolomnaam`.

3. Soek in ander kolomme. As jy duplikate in `n ander kolom probeer vind, bv. Alan se ouderdom in plaas van sy naam, kan jy `Ouderdom` vir `kolomnaam`, ens.
kies kolomnaam, telling (kolomnaam) uit tabelgroep deur kolomnaam met telling (kolomnaam) > 1;
Metode 2 van 4: Vee `n enkele duplikaat uit

1. Kies `name uit name`. Na `SQL` (Standard Query Language) tik `kies naam uit name`.

2. Vee alle rye met die duplikaatnaam uit. Na `SQL` tik `delete from names where name=`Alan`;`. Let daarop dat hoofletters hier belangrik is, so dit sal alle rye met die naam `Alan` verwyder. Tik `commit` na `SQL`.

3. Voer die ry weer in sonder `n duplikaat. Noudat jy alle rye met die voorbeeldnaam `Alan` uitgevee het, kan jy een terugsit deur `insert into name values (`Alan`);.` Na `SQL` tik `commit` om die nuwe ry te skep.

4. Kyk na jou nuwe lys. Sodra jy die stappe hierbo voltooi het, kan jy kyk of jy nie duplikaatdata het nie met die opdrag `kies *van name`.
SQL > kies naam uit name; NAAM ------------------------------------ Alan Carrie Tom Alan rye gekies. SQL > verwyder van name waar name=`Alan`; rye verwyder. SQL > pleeg; Verbind voltooi. SQL > voeg waardes in name in (`Alan`); ry geskep. SQL > pleeg; Verbind voltooi. SQL > kies *uit name; NAAM ---------------------------- Alan Carrie Tom-rye gekies.
Metode 3 van 4: Verwyder veelvuldige duplikate

1. Kies die ry-adres (ry-ID) wat jy wil uitvee. Na `SQL` tik `kies rowid, naam uit name;`.

2. Vee die duplikaat uit. Na `SQL` tik `delete from names a where rowid > (kies min(ry) uit name b waar b.naam=a.naam);` om duplikate van data te verwyder.

3. Kyk vir duplikate. Nadat u bogenoemde voltooi het, kyk of u nog duplikaatdata het deur `select rowid, name from name;` in te tik. en dan `commit`.
SQL > kies rowid, naam uit name; ROWIDNAME ------------------ ---------------------------- AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Alan rye gekies. SQL > skrap van name a where rowid > (kies min(ry) uit name b waar b.naam=a.naam); rye verwyder. SQL > kies rowid, naam uit name; ROWIDNAME ------------------ ---------------------------- AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom-rye gekies. SQL > pleeg; Verbind voltooi.
Metode 4 van 4: Vee rye van kolomme uit

1. Kies die rye. Na `SQL` tik `kies *van name;` om die gekose rye te sien.

2. Verwyder duplikaatrye deur hul kolom te identifiseer. Na `SQL` tik `delete from names a where rowid > (kies min(ry) uit name b waar b.naam=a.naam en b.ouderdom = a.ouderdom);` om die duplikaatdata te verwyder.

3. Kyk vir duplikate. Sodra jy die stappe hierbo voltooi het, tik `kies *van name;` en dan `commit` om te kyk of jy alle duplikaatdata suksesvol verwyder het.
SQL > kies *uit name; NAAM AGE ---------------------------------- ---------- Alan50 Carrie51 Tom52 Alan50 rye gekies. SQL > skrap van name a where rowid > (kies min(ry) uit name b waar b.naam=a.naam en b.ouderdom = a.ouderdom); ry uitgevee. SQL > kies *uit name; NAAM AGE ---------------------------------- ---------- Alan50 Carrie51 Tom52 rye gekies. SQL > pleeg; Verbind voltooi.
Waarskuwings
- Maak `n rugsteun van die tabel onder jou eie aanmelding wat jy kan gebruik om te wys hoe die situasie was voor die uitvee (indien vrae gevra word).
SQL > skep tabel alan.name_backup as kies *van name; Tabel geskep.
Artikels oor die onderwerp "Verwyder duplikaatdata in oracle"
Оцените, пожалуйста статью
Soortgelyk
Gewilde