我只想返回具有不同列值的游标。“组”列有更多项目,但只有 2 个值:1,2,1,1,1,2,2,2,1
String[] FROM = {Groups,_ID};
public Cursor getGroups(){
//......
return db.query(TABLE_NAME,FROM,null,null,null,null,null);
}
将返回一个包含 {1,2,1,1,1,2,2,2,1} 的游标,但我只想包含 {1,2}。
我只想返回具有不同列值的游标。“组”列有更多项目,但只有 2 个值:1,2,1,1,1,2,2,2,1
String[] FROM = {Groups,_ID};
public Cursor getGroups(){
//......
return db.query(TABLE_NAME,FROM,null,null,null,null,null);
}
将返回一个包含 {1,2,1,1,1,2,2,2,1} 的游标,但我只想包含 {1,2}。
你可以有一个这样的sql查询,
public Cursor usingDistinct(String column_name) {
return db.rawQuery("select DISTINCT "+column_name+" from "+TBL_NAME, null);
}
您可以在进行这样的查询时使用 distinct 参数:
public Cursor query (boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
请按照此文档了解更多信息。
您可以使用下面的示例查询,因为您必须给出不同的列名
Cursor cursor = db.query(true, YOUR_TABLE_NAME, new String[] { COLUMN_NAME_1 ,COLUMN_NAME_2, COLUMN_NAME_3 }, null, null, COLUMN_NAME_2, null, null, null);
COLUMN_NAME_2 - 不同列的名称。
记得添加 GROUP BY 列名
在 distinct 参数中使用 boolean true i,例如:
public Cursor query (**true**, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit);