2009-05-25 2 views
4

У меня есть URL-адрес, указывающий на контент, и мне нужно получить максимальное значение, содержащееся в одном из столбцов. Есть ли какая-либо агрегированная функция, которая выполнит это, или мне нужно сделать это вручную?Android: получите наибольшее значение в столбце

ответ

18

Если вы запрашиваете андроида контента провайдера, вы должны быть в состоянии достигнуть этого, передавая MAX(COLUMN_NAME) в параметру отбора ContentResolver.query:

getContentResolver().query(uri, projection, "MAX(COLUMN_NAME)", null, sortOrder); 

Где Uri является адрес провайдера контента. Это должно возвращать единственную строку с наибольшим значением в COLUMN_NAME.

+3

'' MAX (COLUMN_NAME) «' следует использовать как проецирование, а не выбор. –

+0

Почему мы должны установить sortOrder? – UmAnusorn

1

База данных Android использует SQLite, поэтому SELECT MAX(thecolumn) FROM TheTable должен работать, как и в любой другой реализации SQLite (или, в любом случае, в любом другом SQL, «ite» или нет ;-). (Если вы не используете android.database, лучше указать , что вы используете вместо ;-).

+0

Я использую ContentResolver.query (...). Возможно ли это? Какое поле использовать? – Migol

Смежные вопросы