0

嗨,我需要max(columnName)在 ORMLite 中使用 order by。我有 SQL 查询,但我需要知道如何使用这个查询。这是我的查询:

SELECT  * FROM table where place = 'somePlace' group by name
    order by MAX (statusDate)

statusDate列包含"yyyy-dd-mm"格式的日期。我得到的结果是带有recentDates 的列表。

4

3 回答 3

2

使用查询生成器,并使用 where 和 orderBy 来优先处理

QueryBuilder<YourObject, Integer> q = yourDaoObject.queryBuilder();
Where<YourObject, Integer> wh = q.where();
wh.eq("place", "some_place");
q.orderBy("statusDate", false);
List<YourListOfObects> yourList = q.query();

但在此之前,您应该存储一个 long 来存储您的日期https://stackoverflow.com/a/6993420/2122876

于 2013-09-25T14:09:05.217 回答
0

我做了这样的事情。请在第一行创建您自己的查询生成器。

QueryBuilder<MyRowObject, Integer> queryBuiler = "Get Query builder" //getDaoXXX().queryBuilder();

MyRowObject firstLatestRow = queryBuiler.orderBy("dateColoumn", false).queryForFirst();

希望这可以帮助

于 2015-01-06T20:09:05.840 回答
0

我有不同日期的相同名字,我只需要最近的日期。

如果您尝试从Table最大值获取元素,statusDate那么您应该执行降序排列,限制为 1。类似:

QueryBuilder<Foo, Integer> qb = fooDao.queryBuilder();
qb.where().eq("place", "some_place");
qb.orderBy("sttusDate", false); // descending sort
// get the top one result
qb.limit(1);
Foo result = qb.queryForFirst();
于 2013-09-26T13:25:23.813 回答