我想仅使用不同的列值返回游标。 “组”列包含更多项目,但只有2个值:1,2,1,1,1,2,2,1,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}。
答案 0 :(得分:8)
你可以有这样的SQL查询,
public Cursor usingDistinct(String column_name) {
return db.rawQuery("select DISTINCT "+column_name+" from "+TBL_NAME, null);
}
答案 1 :(得分:5)
你可以在进行这样的查询时使用distinct参数:
public Cursor query (boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
请更好地遵循此doc。
答案 2 :(得分:0)
您可以使用以下示例查询,因为您必须为不同的
指定列名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列名
答案 3 :(得分:0)
在不同的参数中使用布尔值 true ,例如:
public Cursor query (**true**, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit);