Запрос строки с максимальным значением в столбце «продолжение» - PullRequest
1 голос
/ 19 сентября 2010

Эй, я пытаюсь запросить слова, которые имеют максимальные значения в столбцах продолжение. Пример: если слово «test1» имеет значение 5 в продолжение, а «test2» имеет значение 2, «test1» будет отображаться в первой позиции. понял?

так. Я пытаюсь сделать это, но он возвращает следующую ошибку:

09-18 22: 24: 04.072: ОШИБКА / AndroidRuntime (435): вызвано: android.database.sqlite.SQLiteException: неправильное использование агрегатной функции MAX ():, при компиляции: SELECT word FROM words WHERE MAX (продолжение ) ЗАКАЗАТЬ ПРОДОЛЖЕНИЕ

Вот мой метод:

public List<String> selectMaxCont(){
   List<String> list = new ArrayList<String>();
   Cursor cursor = this.db.query(TABLE_NAME, new String[]{"word"}, "MAX(cont)", null, null, null, "cont desc");
   if(cursor.moveToFirst()){
       do{
   list.add(cursor.getString(0));
       }while(cursor.moveToNext());
   }
   if(cursor != null && !cursor.isClosed()){
       cursor.close();
   }
   return list;

}

1 Ответ

4 голосов
/ 19 сентября 2010

Я думаю, вы пытаетесь сортировать по убыванию по столбцу продолжение:

В этом случае попробуйте это:

select * from words order by cont desc;

Вам не нужно использовать max () для сортировки по столбцу.

FYI:

max () - агрегатная функция, которую необходимо выбрать.

select max(column) from table

возвращает только одно значение.

select * from TABLE where COLUMN < (select max(COLUMN) from TABLE);

возвращает строки, в которых значение в COLUMN меньше максимального значения в этом столбце.

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