如何按计数(*)以Grails顺序进行分组

sku*_*urt 7 sql grails grails-orm

我如何翻译:

SELECT COUNT(*) AS `count`, `a` FROM `b` GROUP BY `a` ORDER BY `a`
Run Code Online (Sandbox Code Playgroud)

进入grails或gorm查询?

fab*_*474 11

从grails 1.2开始,您可以通过创建的别名创建别名和顺序.

有关详细信息,请参阅https://cvs.codehaus.org/browse/GRAILS-3875https://cvs.codehaus.org/browse/GRAILS-3655.

应用于您自己的代码,HQL查询将是:

def c = b.createCriteria() 
def results = c { 
  projections {
    groupProperty("a")
    count("a", 'myCount')  //Implicit alias is created here !
  }
  order 'myCount'
}
Run Code Online (Sandbox Code Playgroud)


sku*_*urt 3

在 grails 1.2.1 中工作

def c = C.createCriteria()
def pl = c.list {
    projections {
        countDistinct 'id', 'myCount'
        groupProperty 'a'
    }
    order ('myCount', 'desc')
}
Run Code Online (Sandbox Code Playgroud)

答案是例如

[[10,a3],[2,a1],[1,a2]]
Run Code Online (Sandbox Code Playgroud)