4

列の個別の値のみを持つカーソルを返したいです。列「グループ」にはさらに項目がありますが、値は 1,2,1,1,1,2,2,2,1 の 2 つだけです。

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

次のようなクエリを作成するときに、個別の引数を使用できます。

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

個別の引数で真偽値trueを使用します。たとえば、次のようになります。

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 に答える