【问题标题】:How to use GROUP BY in GreenDao如何在 GreenDao 中使用 GROUP BY
【发布时间】:2016-11-13 20:18:50
【问题描述】:

我在 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方法,不知道我是否正确。

【问题讨论】:

    标签: android sqlite greendao greendao-generator


    【解决方案1】:

    GreenDao 不支持GROUP BY
    你可以使用这个技巧:

    where(new WhereCondition.StringCondition(Properties.Contact_number.eq(phonenumber) + "GROUP BY group_name")).orderDesc(Properties.Date_time).build().list();
    

    它允许你使用字符串构建你的 where 子句。

    【讨论】:

    • 谢谢。但是,我也想按日期时间的降序排列。
    • 更新了答案。在这里你只需要“手动”构建你的 where 子句,然后你就可以像以前一样做
    • @Naroju 对你有用吗?我正在使用这个,但它总是崩溃
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    相关资源
    最近更新 更多