











Fjern dupliserte data i oracle
Innhold
Hvis du jobber i Oracle, kan noen av dataene dine vises flere ganger. Du kan fjerne disse duplikatene ved å identifisere dem og bruke radadressen deres. Før du begynner, ta en kopi av tabellen i tilfelle du trenger å referere til den etter å ha slettet dataene.
Trinn
Metode 1 av 4: Oppdag duplikater

1. Identifiser duplikatet. I dette tilfellet identifiserer du prøveduplikatet, `Alan`. Sørg for at postene du prøver å slette faktisk er duplikater ved å skrive inn SQL-kommandoen nedenfor.

2. Søk i kolonnen "Navn". I tilfellet med en kolonne "Navn", fyll den ut for "kolonne_navn".

3. Søk i andre kolonner. Hvis du prøver å finne duplikater i en annen kolonne, si Alans alder i stedet for navnet hans, du kan sette `Alder` foran `kolonnenavn` osv.
velg kolonnenavn, antall (kolonne_navn) fra tabellgruppen etter kolonnenavn som har antall (kolonne_navn) > 1;
Metode 2 av 4: Slett et enkelt duplikat

1. Velg "navn fra navn". Etter `SQL` (Standard Query Language) skriver du `velg navn fra navn`.

2. Slett alle rader med duplikatnavnet. Etter `SQL` skriver du `slett fra navn der name=`Alan`;`. Vær oppmerksom på at bruk av store bokstaver er viktig her, så dette vil fjerne alle rader som heter `Alan`. Skriv `commit` etter `SQL`.

3. Gå inn i raden igjen uten duplikat. Nå som du har slettet alle rader med eksempelnavnet `Alan`, kan du legge inn en tilbake ved å skrive inn `sett inn i navneverdier (`Alan`);.` Etter `SQL` skriver du `commit` for å opprette den nye raden.

4. Sjekk ut den nye listen din. Når du har fullført trinnene ovenfor, kan du sjekke om du ikke har dupliserte data med kommandoen "velg *fra navn".
SQL > velg navn fra navn; NAVN ------------------------------------ Alan Carrie Tom Alan rader valgt. SQL > slett fra navn der name=`Alan`; rader slettet. SQL > begå; Forpliktelsen er fullført. SQL > sette inn i navn verdier(`Alan`); rad opprettet. SQL > begå; Forpliktelsen er fullført. SQL > velg *fra navn; NAVN ------------------------------------ Alan Carrie Tom rader valgt.
Metode 3 av 4: Fjern flere duplikater

1. Velg radadressen (rad-ID) du vil slette. Etter `SQL` skriver du `velg rowid, navn fra navn;`.

2. Slett duplikatet. Etter `SQL` skriver du `slett fra navn og hvor rowid > (velg min(rovid) fra navn b hvor b.navn=a.Navn);` for å fjerne duplikater av data.

3. Se etter duplikater. Etter å ha fullført ovenstående, sjekk om du fortsatt har dupliserte data ved å skrive `velg rowid, navn fra navn;` og deretter `forplikte`.
SQL > velg rowid, navn fra navn; ROWIDNAME ------------------ ---------------------------- AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Alan rader valgt. SQL > slette fra navn a where rowid > (velg min(rovid) fra navn b hvor b.navn=a.Navn ); rader slettet. SQL > velg rowid, navn fra navn; ROWIDNAME ------------------ ---------------------------- AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom rader valgt. SQL > begå; Forpliktelsen er fullført.
Metode 4 av 4: Slett rader med kolonner

1. Velg radene. Etter `SQL` skriver du `velg *fra navn;` for å se de valgte radene.

2. Fjern dupliserte rader ved å identifisere kolonnen deres. Etter `SQL` skriver du `slett fra navn og hvor rowid > (velg min(rovid) fra navn b hvor b.navn=a.navn og b.alder=a.alder);` for å fjerne dupliserte data.

3. Se etter duplikater. Når du har fullført trinnene ovenfor, skriv `velg *fra navn;` og deretter `commit` for å sjekke om du har fjernet alle dupliserte data.
SQL > velg *fra navn; NAVNEALDER ---------------------------------- ---------- Alan50 Carrie51 Tom52 Alan50 rader valgt. SQL > slette fra navn a where rowid > (velg min(rovid) fra navn b hvor b.navn=a.navn og b.alder=a.alder); rad slettet. SQL > velg *fra navn; NAVNEALDER ---------------------------------- ---------- Alan50 Carrie51 Tom52 rader valgt. SQL > begå; Forpliktelsen er fullført.
Advarsler
- Lag en sikkerhetskopi av tabellen under din egen pålogging som du kan bruke for å vise hvordan situasjonen var før slettingen (i tilfelle det stilles spørsmål).
SQL > lag tabell alan.names_backup som velg *fra navn; Tabell opprettet.
Artikler om emnet "Fjern dupliserte data i oracle"
Оцените, пожалуйста статью
Populær