como posso excluir duplicatas no SQLite?
Eu tenho um banco de dados SQLite onde a instrução:
SELECT messdatum, count(*) as anzahl
from lipo
GROUP BY Messdatum
ORDER BY anzahl desc;
resulta em algumas linhas, o que indica que tenho algumas duplicatas com a mesmaMessdatum
. Como posso excluir as duplicatas apenas do meu sqlite db? (ele deve excluir os registros anzahl-1 onde o messdatum é o mesmo?) Alguém tem um conselho?
PS: Encontrei este linkComo remover duplicado da Microsoft mas tem problemas com o dialeto sqlite. Eu recebi alguns erros devido à sintaxe do sqlite. Então f.e. Eu poderia fazer:
INSERT into holdkey SELECT messdatum, count(*) as anzahl from lipo group by messdatum having count(*) > 1;
INSERT into holddups SELECT DISTINCT lipo.* from lipo, holdkey where lipo.Messdatum = holdkey.messdatum ;
DELETE lipo from lipo, holdkey where lipo.messdatum = holdkey.messdatum;
Aqui está um erro no comando delete. Como eu posso fazer isso? Tentei atualizar o holdkey.anzahl para um col adicional no lipo com
UPDATE lipo,holdkey set lipo.duplettenzahl = holdkey.anzahl WHERE lipo.messdatum = holdkey.messdatum ;
mas isso também não é possível. Se eu tivesse o anzahl como dublettenzahl no lipo, poderia excluir todos os registros do lipo onde dublettenzahl> 0. Por favor, ajude! obrigado