我有一个名为A的grails域。如下所示
Class A {
Integer x;
Collection<B> items
}
和B类如下
Class B {
Integer a;
Integer b;
}
我需要通过a类的x值找出a * b组的总和。例如,一个类的行具有值x = 5,6,5;和一些项目清单。
我需要两行,我可以找到所有项目的总和,用x表示5和6 ....我怎么能这样做。提前谢谢..
*我需要使用单个执行查询来执行此操作,例如&#34;选择count(o.id),sum(o.items.a * o.items.b)来自A as o group by a.x&#34; 我有什么方法可以这样做.... *
答案 0 :(得分:0)
试试这个:
def query = "FROM B AS b HAVING SUM(t.a * t.b) NOT NULL"
def result = A.findAll(query)
答案 1 :(得分:0)
尝试这个,如果这工作:
def aList = A.createCriteria()
def result = aList.list() {
projections {
sum('a * b') != null
}
}