嗨,我需要max(columnName)
在 ORMLite 中使用 order by。我有 SQL 查询,但我需要知道如何使用这个查询。这是我的查询:
SELECT * FROM table where place = 'somePlace' group by name
order by MAX (statusDate)
statusDate
列包含"yyyy-dd-mm"
格式的日期。我得到的结果是带有recentDates 的列表。
嗨,我需要max(columnName)
在 ORMLite 中使用 order by。我有 SQL 查询,但我需要知道如何使用这个查询。这是我的查询:
SELECT * FROM table where place = 'somePlace' group by name
order by MAX (statusDate)
statusDate
列包含"yyyy-dd-mm"
格式的日期。我得到的结果是带有recentDates 的列表。
使用查询生成器,并使用 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
我做了这样的事情。请在第一行创建您自己的查询生成器。
QueryBuilder<MyRowObject, Integer> queryBuiler = "Get Query builder" //getDaoXXX().queryBuilder();
MyRowObject firstLatestRow = queryBuiler.orderBy("dateColoumn", false).queryForFirst();
希望这可以帮助
我有不同日期的相同名字,我只需要最近的日期。
如果您尝试从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();