首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Greendao分明计数查询

Greendao分明计数查询
EN

Stack Overflow用户
提问于 2015-11-21 19:01:18
回答 4查看 2.9K关注 0票数 1

因此,我很难让这个查询与GreenDao一起工作,我的问题是查询的开始,这个查询(使用rawquery)在where子句之后开始。

使用GreenDao甚至可以执行此查询,还是必须使用标准的SQL查询访问数据库而不使用GreenDao?

代码语言:javascript
复制
select count (distinct VISIBLE_PAGE_ID) from HOME_ITEM2 where IS_VISIBLE=1 and IS_ACTIVE = 1
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-11-21 19:18:04

因此,我只使用了SQL就可以做到这一点,不知道是否有任何BuildIn方法可以做同样的事情:

代码语言:javascript
复制
  String query = "SELECT COUNT (DISTINCT "
                                    + HomeItem2Dao.Properties.VisiblePageId.columnName+
                                    ") from "
                                    + HomeItem2Dao.TABLENAME
                                    + " where "
                                    + HomeItem2Dao.Properties.IsVisible.columnName + " = 1 and "
                                    + HomeItem2Dao.Properties.IsActive.columnName + " = 1";
                            Integer count = 0;

                            Cursor cursor =
                                    MainApplication.getInstance().getDaoSession().getDatabase().rawQuery(
                                            query, null
                                    );

                            if(cursor.moveToFirst()){
                                count = cursor.getInt(0);
                            }
                            cursor.close();
票数 1
EN

Stack Overflow用户

发布于 2018-10-05 09:58:33

您可以使用GreenDao的CountQuery类来执行count(*)查询。在使用QueryBuilder时,使用buildCount()方法而不是build()方法。下面的例子。

代码语言:javascript
复制
HomeItem2 homeItem2Dao = ((Application) context.getApplicationContext())
    .getDaoSession().getHomeItem2Dao();
QueryBuilder<HomeItem2> queryBuilder = 
    homeItem2Dao.queryBuilder().where(
        HomeItem2Dao.Properties.IsVisible.eq(true), 
        HomeItem2Dao.Properties.IsActive.eq(true));
return queryBuilder.buildCount().count();
票数 1
EN

Stack Overflow用户

发布于 2020-04-29 00:20:12

我创建了一个带有库的拉请求,添加了一个函数来构建一个具有不同列表达式的计数查询。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33847357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档