我在SO中发现了与此问题相关的几个问题,但并没有太大帮助.我想使用GreenDao库在Android中构建查询,查询应按日期时间的降序获取包含特定电话号码的所有行,我也想按组名对它们进行分组.
我的查询:
List<activity> activities = activityDao.queryBuilder().where(Properties.Contact_number.eq(phonenumber)).orderDesc(Properties.Date_time).build().list();
如何在上述查询中包括GROUP BY,以便按group_name(我将group_name作为表中的列)对行进行分组?
我在GreenDao中找不到任何GROUP BY方法,不确定我是否正确.
解决方法:
GreenDao不支持GROUP BY.
您可以使用此技巧:
where(new WhereCondition.StringCondition(Properties.Contact_number.eq(phonenumber) + "GROUP BY group_name")).orderDesc(Properties.Date_time).build().list();
它使您可以使用String构建where子句.