我有一个包含列A和C的表T,我想从中检索一个平均计数,如下所示:
select avg(AC) as AV from ( select A, count(1) as AC from T where C = 1 group by A )
如何在GORM中完成此任务?GRAILS 2.2.0版我尝试按照文档进行操作,但是没有好的示例。我什至无法使子查询工作:(
我能够使计数部分起作用。现在仍要确定如何获得平均值,因为我不知道如何从查询中进行选择。
def tc = T.createCriteria() def tCounts = tc.buildCriteria { and { eq 'C', 1 } projections { groupProperty 'A' rowCount('AC') } }
这是在HQL中完成的。使用我的域之一在grails控制台中进行了测试:
T.executeQuery(""" select avg(count(*)) from T t where t.c = 1 group by t.a """)