Código fuente para probar registros duplicados
Ver la entrada correspondiente en el siguiente enlace:
Registros duplicados en PostgreSQL (y otros sistemas)
BEGIN; ------------------------------------------------------------------------------- CREATE TABLE test1(first INTEGER, second TEXT, third TEXT) --WITHOUT ROWID --SQLite 3.8.2 ; INSERT INTO test1 VALUES (0, 'zero' , 'OK' ); INSERT INTO test1 VALUES (0, 'zero' , 'OK' ); INSERT INTO test1 VALUES (0, 'zero' , 'OK' ); INSERT INTO test1 VALUES (1, 'one' , 'OK' ); INSERT INTO test1 VALUES (2, 'two' , 'OK' ); INSERT INTO test1 VALUES (3, 'three', 'OK' ); --Para ver las columnas ocultas. SELECT * , oid --SQLite FROM test1 ; --Para ver sólo los registros duplicados. SELECT COUNT(*), first, second, third FROM test1 GROUP BY first, second, third HAVING (COUNT(*) > 1); --SQLite. --Para borrar todos los repetidos menos uno usando OID. DELETE FROM test1 WHERE oid NOT IN (SELECT min(oid) FROM test1 GROUP BY first, second, third) ; --Para ver lo que queda finalmente en la tabla. SELECT * FROM test1; DROP TABLE test1; ------------------------------------------------------------------------------- ROLLBACK;
Muchas gracias Justo lo que estaba buscando
ResponderEliminarDe nada. Me alegra saber que le resulta útil a la gente.
ResponderEliminar