Выберите отдельное значение в android sqlite
Я пытаюсь запустить следующий необработанный запрос в android, кажется, не работает
String query ="SELECT DISTINCT category FROM event";
Cursor cursor = mDb.rawQuery(query, null);
if (cursor != null) {
cursor.moveToFirst();
}
return cursor;
поэтому я решил использовать метод query() в android, что-то вроде
Cursor mCursor = mDb.query(EVENT_TABLE, new String[] {KEY_ROWID, KEY_CAT}, null, null,null,null, null)
Может ли кто-нибудь показать мне, как выбрать отдельную категорию для использования query() вместо rawquery, пожалуйста, любая помощь будет принята с благодарностью!
Ответы
Ответ 1
Вы можете использовать этот метод:
public Cursor query (boolean distinct, String table,
String[] columns, String selection,
String[] selectionArgs, String groupBy,
String having, String orderBy, String limit)
Здесь первый аргумент указывает, следует ли использовать отдельный или нет.
Ответ 2
Но вы ДОЛЖНЫ помнить, чтобы отправить аргумент в GROUPBY
(NOT NULL
send).
Вы должны указать имя столбца для distinct
.
Пример:
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);
true - отличный TRUE
COLUMN_NAME_2
- введите столбец, что у вас есть DISTINCT.
Это работает для меня хорошо.
Ответ 3
Существует несколько способов, как уже отмечено зеленым. Но если кто-то хочет получить его через сырой запрос, то здесь вы идете:
String query = "SELECT DISTINCT(category) FROM event";
Ответ 4
Cursor res=db.rawQuery("select column1 column2... Distinct column3 from "+Table_name, null);
column3
- это отдельный столбец