您好我需要在ORMLite中使用max(columnName)
的订单。我有SQL查询,但我需要知道如何使用此查询。这是我的问题:
SELECT * FROM table where place = 'somePlace' group by name
order by MAX (statusDate)
statusDate
列包含"yyyy-dd-mm"
格式的日期。我得到的结果是带有recentDates的列表。
答案 0 :(得分:2)
使用查询构建器,并在其中和orderBy执行preoceed
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();
但在此之前,您应该存储一长片,而不是存储您的日期https://stackoverflow.com/a/6993420/2122876
答案 1 :(得分: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();
答案 2 :(得分:0)
我做了这样的事。请在第一行创建自己的查询构建器。
QueryBuilder<MyRowObject, Integer> queryBuiler = "Get Query builder" //getDaoXXX().queryBuilder();
MyRowObject firstLatestRow = queryBuiler.orderBy("dateColoumn", false).queryForFirst();
希望这有帮助