要通过两个列获取重复项,可以使用SQLite的GROUP BY和HAVING子句来实现。以下是一个示例代码:
// 创建数据库连接
SQLiteDatabase db = openOrCreateDatabase("mydatabase.db", Context.MODE_PRIVATE, null);
// 创建表格
db.execSQL("CREATE TABLE IF NOT EXISTS mytable (column1 TEXT, column2 TEXT);");
// 插入一些示例数据
db.execSQL("INSERT INTO mytable (column1, column2) VALUES ('A', '1');");
db.execSQL("INSERT INTO mytable (column1, column2) VALUES ('B', '2');");
db.execSQL("INSERT INTO mytable (column1, column2) VALUES ('A', '2');");
db.execSQL("INSERT INTO mytable (column1, column2) VALUES ('A', '1');");
db.execSQL("INSERT INTO mytable (column1, column2) VALUES ('C', '3');");
// 查询重复项
Cursor cursor = db.rawQuery("SELECT column1, column2, COUNT(*) FROM mytable GROUP BY column1, column2 HAVING COUNT(*) > 1;", null);
// 遍历结果集
if (cursor.moveToFirst()) {
do {
String column1 = cursor.getString(0);
String column2 = cursor.getString(1);
int count = cursor.getInt(2);
// 打印重复项
Log.d("Duplicate Items", "column1: " + column1 + ", column2: " + column2 + ", count: " + count);
} while (cursor.moveToNext());
}
// 关闭数据库连接
cursor.close();
db.close();
上述代码首先创建了一个数据库连接,并创建了一个名为mytable
的表格。然后插入了一些示例数据。接下来,使用GROUP BY
和HAVING
子句查询重复项,并遍历结果集。最后,关闭数据库连接。
注意,上述代码中的mydatabase.db
是数据库的名称,可以根据实际情况进行修改。