Ako odstrániť opakované položky v oracle

Opakovacie čiary v Oracle sa môžu diferencovať len pomocou svojej `Rowid` (Line Adresa).

Kroky

  1. Obrázok s názvom Odstrániť duplicitné záznamy v Oracle Krok 1
jeden. Odstráňte reťazec pomocou riadu. Toto je najjednoduchší spôsob, ako odstrániť záznam.
SQL> SELECT ROWID, NÁZOV Z NÁZVOVÝCH NÁZVY-ROWIDNAME --------------------------------------------- ---------- AABJNSAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC CARABJNSAAAAAAAC CARNAABJNSAAAGAAADFOAAD TOM4 ROZSKO.SQL> Vymazanie z mien, kde Rowid = `AABJNSAAGAAADFOAAAA`-1 ROCE.SQL> Commit-Commit Complete.SQL> SELECT ROWID, NAME Z NÁZVOVÝCH NÁZVY-ROWIDNAME ----------------------------------------------------------------------------------------------------- AABJNSAAAGAAAAAAAAAAAAAC CARABERAABJNSAAAGAAADFOAAD Zvolené riadky TOM3.
  • Obrázok s názvom Odstrániť duplicitné záznamy v Oracle Krok 2
    2. Odstráňte všetky opakujúce sa riadky okrem jedného.
    SQL> Zvoľte Názov mená - Name ----------------------------------------------------------------- ALANCARRIETOMALAN4 ROZSKY.SQL> Vymazať z mien, kde názov = `Alan`-2 Riad.SQL> Commit-Commit Complete.SQL> Vložte do názvov (Alan ") - 1 riadok vytvorený.SQL> Commit-Commit Complete.SQL> Zvoľte * z mená-name ------------------------------ ALANCARRIETOMROWS Vybraný.
  • Obrázok s názvom Odstrániť duplicitné záznamy v Oracle Krok 3
    3. Použite funkciu MAX alebo MIN na veslovanie a odstránenie všetkých ostatných riadkov. V tomto prípade, ak existuje niekoľko duplikátov, budú vymazané.
    SQL> SELECT ROWID, NÁZOV Z NÁZVOVÝCH NÁZVY-ROWIDNAME --------------------------------------------- ---------- AABJNSAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC CARABJJANSAAAAAAADFOAAD TOMAABJNSAAAGAAADFOAAV ALAN5 ROZSKY.SQL> Vymazať z mien A2 kde ROWID> (Zvoľte Min (Rowid) z mien b3 kde B.Názov = A.Name4) -2 Riadky vymazané.SQL> SELECT ROWID, NÁZOV Z NÁZVOVÝCH NÁZVY-ROWIDNAME --------------------------------------------- ---------- AABJNSAAGAAADFOAAAAAAAACAAC CARNAABJNSAAC CARNAABJNSAAGAAADFOAAD TOM3 ROY.SQL> Commit-Commit Complete.}}
  • Duplicitná čiara 3 vyššie a pridajte nový názov stĺpca, ak máte niekoľko stĺpcov v tabuľke. Predpokladajme, že máte stĺpec veku, tím bude ďalej.

    [[Obrázok: Odstrániť duplicitné záznamy v Oracle Krok 4.JPG | Center | 550px]] {{Codebox | lang ="Oracle8"> SQL> Select * z mien-pomenge ---------------------------------------- ALAN50CARRIE51TOM52ALANN504 Vybrané riadky.SQL> Vymazať z mien A2 kde ROWID> (Zvoľte Min (Rowid) z mien b3 kde B.Názov = A.Name4And B.Vek = A.Age 55) -1 Riadok sa vymazal.SQL> Select * z mien-pomenge --------------------------------------- ALAN50CARRIE51TOM52ROWROWS Vybraný.SQL> Commit-Commit Complete.
  • Upozornenia

    • Vytvorte zálohu tabuľky na porovnanie a zobrazenie obsahu tabuľky pred vymazaním čohokoľvek (ak máte akékoľvek otázky).
    SQL> Vytvoriť tabuľku ALAN.NÁZVY_BACKUP ASE SELECT * Z NÁZOV - TABUĽKA.
    Podobné publikácie