sql >> Base de Datos >  >> RDS >> Oracle

oráculo | eliminar registros duplicados

Incluso si no tiene la clave principal, cada registro tiene asociado un identificador de fila único.

Al usar la consulta a continuación, elimina solo los registros que no tienen la identificación de fila máxima al unirse a una tabla con las columnas que causan la duplicación. Esto asegurará que elimine cualquier duplicado.

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
);