首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails projections分组依据和计数

Grails projections分组依据和计数
EN

Stack Overflow用户
提问于 2012-04-19 13:18:46
回答 3查看 9.9K关注 0票数 2

下面是我的两个类

代码语言:javascript
复制
class Users {
    String emailAddress
    String password
    //    String filename
    String firstName
    String lastName
    Date dateCreated
    Date lastUpdated
}

代码语言:javascript
复制
class SharedDocuments {
    Users author
    Users receiver
    Documents file
    static constraints = {

    }
}

我想运行一个类似于这个查询的查询,本质上我想获得所有用户的列表以及他们所创作的文档的数量

代码语言:javascript
复制
SELECT author_id, COUNT(SharedDocuments.id )FROM SharedDocuments 
  INNER JOIN users ON author_id = users.id
  GROUP BY author_id

这是我到目前为止所拥有的

代码语言:javascript
复制
def sharedDocumentsInstanceList = SharedDocuments.createCriteria().list(params){
    createAlias("author","a")
    eq("receiver.id",session.uid)  
    projections{
        groupProperty "author"
        count "id",'mycount'

    }
     order('mycount','desc')
    maxResults(params.max)
}

我有这90%的工作,如果我摆脱了countcountDistinct,我得到了不同的作者列表,但我想要的是作者和文档的计数。因此,当我将count或countDistinct子句添加到此条件中时,我只得到long数组!!比如2,3,4我想要的是[author1,2,Author2,3...]我已经看过Grails: Projection on many tables?Grails criteria projections - get rows countGrails groupProperty and order. How it works?,但似乎没有一个答案能解决我的问题!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-19 01:23:30

使用分页的Projections有一个bug,它只返回projections块中的最后一个字段。当前的grails 2.1.5已经修复了这个错误。下面是报告的错误http://jira.grails.org/browse/GRAILS-9644

票数 1
EN

Stack Overflow用户

发布于 2012-04-19 13:28:14

你就不能直接用countBy* - like

代码语言:javascript
复制
    SharedDocuments.countByAuthorAndReceiver(user, receiver)
票数 0
EN

Stack Overflow用户

发布于 2012-04-19 16:06:12

如果您想要查询中描述的结果,那么您需要作者的id或任何其他特定属性,如电子邮件。

代码语言:javascript
复制
def sharedDocumentsInstanceList = SharedDocuments.createCriteria().list(params){
    eq("receiver.id",session.uid)  
    projections{
        groupProperty "author"
        count "id",'mycount'

    }
     order('mycount','desc')
    maxResults(params.max)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10222083

复制
相关文章

相似问题

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