Como eliminar registros duplicados

Como eliminar registros duplicados

9 abril, 2019 ARTÍCULOS 0

En ocasiones nos podemos encontrar con tablas en las cuales queremos crear una clave primaria o un índice único pero que tienen registros duplicados. Como para poder crear la clave primaria o el índice único es necesario que el campo que utilizamos como referencia sea único para poder identificar unívocamente el registro será necesario eliminar los registros duplicados. En el caso de que la tabla no esté fragmentada podemos utilizar el siguiente procedimiento:

DELETE FROM tabla_con_duplicados WHERE rowid in
(SELECT rowid FROM tabla_con_duplicados WHERE rowid NOT IN
(SELECT MIN(rowid) FROM tabla_con_duplicados GROUP BY columna_identificativa)
);

tabla_con_duplicados: Nombre de la tabla con registros duplicados que queremos eliminar

columna_identificativa: Nombre de la columna que será la clave única. Se utiliza como referencia para identificar registros duplicados

Este procedimiento se basa en los rowid por lo que no funciona si la tabla está fragmentada ya que cada fragmento tendría sus propios rowid pudiendo estar duplicados en diferentes fragmentos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *