Как получить курсор только с разными значениями? - PullRequest
4 голосов
/ 09 января 2012

Я хочу вернуть курсор только с разными значениями столбца.Столбец «Группы» содержит больше элементов, но содержит только 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}.

Ответы [ 3 ]

8 голосов
/ 09 января 2012

У вас может быть SQL-запрос, подобный этому,

public Cursor usingDistinct(String column_name) {
        return db.rawQuery("select DISTINCT "+column_name+" from "+TBL_NAME, null);
    }
5 голосов
/ 09 января 2012

Вы можете использовать отдельный аргумент при создании запроса, например:

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

. Следуйте этому doc для большей ясности.

0 голосов
/ 30 мая 2016

Вы можете использовать приведенный ниже пример запроса, так как вы должны указать имя столбца для различных

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

...