相关疑难解决方法(0)

从sqlite数据库中删除重复的行

我有一个巨大的表--3600万行 - 在SQLite3中.

在这个非常大的表中,有两列

  • 哈希 - 文本
  • d - 真的

但是,有些行是重复的.也就是说,hash和d都具有相同的值.

此外,如果两个哈希值相同,则d的值也相同,但两个相同的ds不表示两个相同的哈希值

无论如何,我想删除重复的行.我没有主键列.最快的方法是什么?


编辑: hash

似乎可以做到这一点.

sql database sqlite

90
推荐指数
2
解决办法
5万
查看次数

如何在SQLite中删除重复项?

我有一个SQLite DB的声明:

SELECT messdatum, count(*) as anzahl 
from lipo 
GROUP BY Messdatum 
ORDER BY anzahl desc;
Run Code Online (Sandbox Code Playgroud)

导致一些行,这表明我有一些相同的重复Messdatum.如何从我的sqlite数据库中删除重复项?(它应该删除anzahl-1记录,其中messdatum是相同的吗?)有人建议吗?

PS:我发现此链接如何从Microsoft删除重复但有sqlite方言的问题.由于sqlite语法,我得到了一些错误.所以我能做到:

 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;
Run Code Online (Sandbox Code Playgroud)

这是delete命令的错误.我怎样才能做到这一点?我试图将holdkey.anzahl更新为lipo中的另一个col

UPDATE lipo,holdkey set lipo.duplettenzahl = holdkey.anzahl WHERE lipo.messdatum = holdkey.messdatum ; 
Run Code Online (Sandbox Code Playgroud)

但这也是不可能的.如果我将脂肪中的anzahl作为dublettenzahl我可以删除所有来自lipo的记录,其中dublettenzahl> 0.请帮忙!谢谢

sqlite sql-delete

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

sqlite ×2

database ×1

sql ×1

sql-delete ×1