Solución:
Necesita una forma de distinguir las filas. Según su comentario, puede usar la columna de identificador de fila especial para eso.
Para eliminar duplicados manteniendo el más bajo rowid
por (hash,d)
:
delete from YourTable
where rowid not in
(
select min(rowid)
from YourTable
group by
hash
, d
)
Supongo que lo más rápido sería usar la base de datos misma: agregue una nueva tabla con las mismas columnas, pero con las restricciones adecuadas (¿un índice único en hash / par real?), Iterar a través de la tabla original e intentar insertar registros en la nueva tabla, ignorando los errores de violación de restricciones (es decir, continuar iterando cuando surjan excepciones).
Luego elimine la tabla anterior y cambie el nombre de la nueva por la anterior.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)