4

我只想返回具有不同列值的游标。“组”列有更多项目,但只有 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}。

4

4 回答 4

8

你可以有一个这样的sql查询,

public Cursor usingDistinct(String column_name) {
        return db.rawQuery("select DISTINCT "+column_name+" from "+TBL_NAME, null);
    }
于 2012-01-09T11:09:00.227 回答
5

您可以在进行这样的查询时使用 distinct 参数:

public Cursor query (boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)

请按照此文档了解更多信息。

于 2012-01-09T11:13:28.520 回答
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 列名

于 2016-05-30T11:44:04.727 回答
0

在 distinct 参数中使用 boolean true i,例如:

public Cursor query (**true**, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit);
于 2019-10-15T20:07:46.397 回答