grails中使用group by后的totalCount问题

一、totalCount

最近在用grails开发项目,在createCriteria中使用group by的时候发现PagedResultList中的totalCount有问题。

查阅了很多官方的非官方的资料后,最终得出一条临时方便的解决办法:

int totalCount = Domain.executeQuery('select count(*) from domain where id in(select min(id) from domain group by grp1,grp2))')[0]

domain:你的domain的名称,注意大小写

grp1,grp2:你的group by 字段,注意大小写

二、顺便再记录一个

在createCriteria中使用group by 返回的聚合数据不是map的问题解决方法:

def results = Domain.createCriteria.list(max:10,offset:0){

setResultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP)

projections{

groupProperty("grp1")

sum("sum1","sum1")

}

}

你可能感兴趣的:(grails中使用group by后的totalCount问题)