Как выбрать отдельные значения из одного столбца в таблице? - PullRequest
6 голосов
/ 13 сентября 2011

Я занимаюсь разработкой приложения для меню ресторана в Android. Мое приложение имеет одну таблицу базы данных, которая имеет следующие столбцы:

  • id (первичный ключ)
  • Категория
  • наименование товара

Столбец категории показывает категорию элементов, таких как овощи, не овощи, закуски и т. Д. Он имеет повторяющиеся значения, и я хочу выбрать только отдельные значения из этого столбца. Я пробовал следующее, но это не работает, если кто-то может предоставить решение:

String query = "SELECT DISTINCT category FROM todo";

Cursor  cursor = database.rawQuery(query,null);
if (cursor != null) {
    cursor.moveToFirst();
}

return cursor; 

Ответы [ 4 ]

11 голосов
/ 21 июня 2012

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

запрос общедоступного курсора ( логическое значение , таблица строк, столбцы String [], выбор строки, строка [] selectionArgs, строка groupBy, строка, строка String orderBy, предел строки)

Ссылка на Android-справочник

Таким образом, вам вообще не нужно использовать rawQuery.

6 голосов
/ 29 февраля 2012

Попробуйте:

"SELECT DISTINCT category as _id, category FROM todo"

Это сработало для меня в той же ситуации.

1 голос
/ 07 апреля 2014

Это то, как я различаю, также чтобы получить категории

// Get Categories
public Cursor getCategories() {

    Cursor c = db.rawQuery("SELECT DISTINCT " + KEY_ITEM_CAT + " as " + KEY_ITEM_ID
            + ", " + KEY_ITEM_CAT + " FROM " + ITEMS_TABLE_NAME, null);

    if (c != null) {
        c.moveToFirst();
    }

    return c;
}
0 голосов
/ 07 октября 2014

Я искал тот же вопрос, и я нашел что-то, что напрямую связано с решением самым простым способом! Проверьте этот ответ:

https://stackoverflow.com/a/13879436/4072073

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...