删除SQLite中的重复条目

时间:2011-04-06 08:11:50

标签: android sql sqlite

我有一个表有重复条目的表。除了primary_key之外,所有条目都是相同的。

如果条目是重复的(secondID),条目甚至会存储唯一的ID。

即使看起来不太难,我也难以在Android中使用rawQuery来删除基于第二个ID的重复条目。

dataBase.rawQuery("DELETE FROM " + table + " WHERE " + secondID + " EQUALS " + secondID + ");", null);

我对这个查询可能非常错误,但似乎我尝试了一些非常复杂的查询,有些非常简单,就像上面那个没有运气一样。

任何帮助都将不胜感激。

4 个答案:

答案 0 :(得分:7)

或类似的东西:

DELETE FROM table WHERE primary_key NOT IN (SELECT MIN(primary_key) FROM table GROUP BY secondID)

应该选择每个不同secondID的第一个实例的主键,并删除该列表中没有的所有内容。

答案 1 :(得分:1)

试试这个..

DELETE FROM table a1 USING table b1 WHERE a1.anyfield=b1.anyfiled AND a1.id<b1.id;

a1和b1是同一个表

答案 2 :(得分:-1)

试试这个:

dataBase.rawQuery("DELETE FROM " + table + " WHERE " + secondID + " = " + secondID + ");", null);

答案 3 :(得分:-1)

这将有效:

dataBase.execSQL("DELETE FROM " + table + " WHERE " + secondID + "=" + secondID);