我需要在ORMLITE中使用max来检索ormlite表中的最新记录
与select max(MODIFIED)FROM TABLE;
我想获得一条记录,该记录具有datemodified的最大值,其中userid是id;对于特定的用户ID,我想找到具有最大日期值的记录,即查找特定用户的最新条目
答案 0 :(得分:6)
无法说清楚但我想你想知道如何使用ORMLite查询MODIFIED
字段等于最大值的某个对象。如果没有两个查询,我不确定你能在SQL中做到这一点。我认为你必须做raw query来获得最大值,然后再做一次查询。
我在版本4.42中将queryRawValue(...)
添加到ORMLite,因此您可以执行以下操作:
long max = fooDao.queryRawValue(
"select max(modified) from foo where userid = ?", id);
// now perform a second query to get the max row
Foo foo = fooDao.queryBuilder().where().eq("modified", max).queryForFirst();
您可以这样做:
GenericRawResults<String[]> rawResults =
fooDao.queryRaw("select max(modified) from foo where userid = ?", id);
// there should be one result
long max = Long.parseLong(rawResults.getResults().get(0)[0]);
// now perform a second query to get the max row
Foo foo = fooDao.queryBuilder().where().eq("modified", max).queryForFirst();