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

前端之家收集整理的这篇文章主要介绍了从sqlite数据库中删除重复的行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个巨大的表 – 3600万行 – 在sqlite3。 @H_301_1@在这个非常大的表中,有两列

@H_301_1@> hash – 文本
> d – real

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

@H_301_1@此外,如果两个散列是相同的,d的值也是相同的,但是两个相同的ds不意味着两个相同的散列

@H_301_1@反正,我想删除重复的行。我没有主键列,因为我是一个白痴。什么是最快的方式做到这一点?

@H_301_1@EDIT:delete from dist where rowid not in(select max(rowid)from dist group by hash);

@H_301_1@看来做的伎俩。

你需要一种方法来区分行。根据你的评论,你可以使用特殊的 rowid column。 @H_301_1@要通过保留每个(hash,d)的最低rowid来删除重复项:

delete   from YourTable
where    rowid not in
         (
         select  min(rowid)
         from    YourTable
         group by
                 hash,d
         )
原文链接:https://www.f2er.com/sqlite/198315.html

猜你在找的Sqlite相关文章