2013-09-27 5 views
2

Я хочу знать, как я могу использовать команду MAX MIN с ORMLITE.SQL MAX-MIN в ORMLITE - ANDROID

Например позволяет сказать, что мы имеем эту таблицу

Table Name = Пример
Колонка 1 = идентификатор
Колонка 2 = имя

В ORMLITE, как я могу получить максимум ID? Я посмотрел here, но я точно не понял.

Может ли кто-нибудь показать мне пример о Max min на ORMLITE?

ответ

9
QueryBuilder<Account, Integer> qb = accountDao.queryBuilder(); 

qb.selectRaw("MIN(orderCount)", "MAX(orderCount)"); 

// the results will contain 2 string values for the min and max 

results = accountDao.queryRaw(qb.prepareStatementString()); 

String[] values = results.getFirstResult(); 

Я нашел это из documentation

4

Это, как я запрос для макс ID в моем коде:

QueryBuilder<Example, String> builder = dao.queryBuilder(); 
builder.orderBy("id", false); // true or false for ascending so change to true to get min id 
Example example = dao.queryForFirst(builder.prepare()); 
String id = null; 
if (example == null) 
    id = "-1"; 
else 
    id = example.getId(); 

Несколько альтернативных ответов также можно найти здесь: ORMLite - return item w/ maximum ID (or value)

+1

+1 Вы также должны добавить 'limit (1)', поскольку только один результат будет возвращен. – Gray

+0

@Gray - только один момент: в новых версиях ограничения ORMLite (int) устарела. Вы должны использовать лимит (1L). Но спасибо вам обоим! – bernhardrusch

0

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

dao.quer yRawValue ("select MAX (columnName) from tableName")

Он будет напрямую возвращать длинное значение.

относятся: http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_5.html#DAO-Methods

queryRawValue (String, String запрос ... аргументы)

Выполните необработанный запрос, который возвращает одно значение (как правило, совокупность функций как MAX или COUNT). Если запрос не возвращает одно длинное значение, тогда он выдает SQLException.

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