sql >> Databáze >  >> RDS >> Oracle

orákulum | odstranit duplicitní záznamy

I když nemáte primární klíč, každý záznam má přiřazen jedinečný rowid.

Pomocí níže uvedeného dotazu odstraníte pouze záznamy, které nemají maximální id řádku, a to tak, že sami spojíte tabulku se sloupci, které způsobují duplikaci. Tím zajistíte, že odstraníte všechny duplikáty.

DELETE FROM PPLP_LOAD_GENSTAT plg_outer
WHERE ROWID NOT IN(
  select   MAX(ROWID)
  from     PPLP_LOAD_GENSTAT plg_inner
  WHERE    plg_outer.pplp_name = plg_inner.pplg_name
  AND      plg_outer.start_time= plg_inner.start_time
  AND      plg_outer.end_time  = plg_inner.end_time
);


  1. Myšlenky k edicím SQL Server 2019

  2. DatabaseError:aktuální transakce je přerušena, příkazy jsou ignorovány až do konce bloku transakce?

  3. Existuje v některých verzích Oracle limit vnoření pro korelované poddotazy?

  4. Jak mohu uniknout hranatým závorkám v klauzuli LIKE?