Como suele pasar, se me olvido crear la llave primaria para una tabla, resultando que se insertaran registros duplicados en ella, ahora, ¿Cómo los elimino? Muy fácil, encontré, rascándole a google, una instrucción estándar para borrar registros duplicados:
1 2 3 4 5 | DELETE FROM tabla WHERE ROWID NOT IN (SELECT MIN(ROWID) FROM tabla GROUP BY columna1, columna2, columna3...); |
Donde por supuesto “tabla” es el nombre de la tabla y “columna1″, “columna2″, etc. Es la llave que identifica a cada registro.
22 Comentarios |
Imprimir |


22 Comentarios
faltó
having count(*) >1
con eso cotrolas que si hay datos duplicados y no duplicados no borre los últimos….
Responder
segun yo asi funcionaba, voy a checar lo que dices para ver el detalle, gracias y saludos
Responder
No se necesita el having count que propone Tales Klein, puesto que el “not in” excluye los registros no duplicados que se asimilan al mínimo.
Responder
Que bien, tenía tiempo buscando un modo de seleccionar solo una fila de los registros duplicados. Había probado utilizando having count pero este te lista todas las filas. Este script es mucho mejor. Muchas gracias
Responder
que bueno que te sirviera, saludos
Responder
a mi tambien me sirvio! o era yo o era mi despido del trabajo jaja..
gracias!
Responder
Muy bueno! llevaba tiempo buscando la forma más sencilla de buscar/eliminar duplicados!! gracias!
Responder
me fue de mucha utilidad.
gracias
Responder
Muy buen dato, lo estaba necesitando
Responder
Donzote Reply:
diciembre 23rd, 2008 at 23:51
que bueno que te halla servido, saludos
Responder
GRACIAS, ES MAS FACIL DE LO QUE PARECE….
BTA, COL
Responder
Donzote Reply:
marzo 26th, 2009 at 18:18
que bueno que te halla servido, para eso estamos, para ayudar, saludos
Responder
GRACIAS!!! la verdad que me fue muy util!!!!
Saludos!
Responder
Mas de chevere, esta sentencia gracias a todos por su ayuda a través de la web
Responder
Gracias por el post, es una instrucción pequeña pero que me resuelve el trabajo grandemente, se te agradece.
Responder
Muchas Gracias, andaba en busca de algo asi
Responder
Perfecto.
Muchas gracias
Responder
Más que perfecto..!
Mil gracias.
Responder
Excelente !!!
Responder
graciasssssssssssssss me salvas la vida!!!
Responder
Muchas gracias!
Es muy bueno encontrar personas que gustan compratir sus conocimientos!
Responder
Gracias, aunque le hice este cambio MAX(ROWID) para conservar el registro más reciente.
Responder