Intereting Posts

Выберите отдельное значение в 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, пожалуйста, любая помощь будет принята с благодарностью!

Solutions Collecting From Web of "Выберите отдельное значение в android sqlite"

Вы можете использовать этот метод:

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

Здесь первый аргумент указывает, следует ли использовать отдельный или нет.

Но вы ДОЛЖНЫ помнить, чтобы отправить аргумент в 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_2COLUMN_NAME_2 столбец, что у вас есть DISTINCT.

Это работает для меня хорошо.

Есть несколько способов, как уже зеленый галочкой. Но если кто-то хочет получить его через сырой запрос, то здесь вы идете:

 String query = "SELECT DISTINCT(category) FROM event"; 
 Cursor res=db.rawQuery("select column1 column2... Distinct column3 from "+Table_name, null); 

column3 – отличный столбец