GreenDAO groupby子句

时间:2015-01-12 16:32:05

标签: android group-by greendao

我目前正在使用greenDA作为Android应用程序的ORM。我在尝试执行GROUPBY子句时遇到了一个问题。 greenDAO没有用于执行groupby子句的API /帮助器方法,所以我决定使用可用于AbstractDAO类的query()queryRaw()方法,在那里我可以传递有效的SQL查询。但是,这两个方法都返回一个java.util.List,让我感到困惑的是,如何在结果中获取列别名的值? 例如,

SELECT COUNT(ID) AS NUMOFRECORDS, NAME FROM PERSONS GROUP BY AGE

我的实体将拥有NAME和AGE字段,但我创建了一个列别名NUMOFRECORDS,它不是实体的一部分。

感谢您的帮助!

2 个答案:

答案 0 :(得分:6)

这是您的问题的替代解决方案: 包括ORDER BY insize of Where。

例如:

List<Taxi> list = daoSession.getDaoTaxi().queryBuilder().where(new WhereCondition.StringCondition("1 GROUP BY cant_aciento")).list();

答案 1 :(得分:1)

我遇到了类似的问题。似乎greenDao不支持GROUP BY查询,并且根据他们所说的here,它不会在未来发生变化:

  

GROUP BY是SQL-ish,所以坚持使用SQL。 greenDAO是关于实体的,其中GROUP BY不受支持。