2012-11-02 42 views
2

我试图编写一个查询,它返回雇员平均工资在指定范围内的所有部门。Datanucleus jdoql group by avg()

我有这样的事情:

Query query = pm.newQuery(Employee.class); 
query.setResult("department, avg(salary)"); 
query.setGrouping("department HAVING avg(salary) >= :x && avg(salary) <= :y"); 
query.setOrdering("2 desc"); 

问题是,AVG(工资)由具有重新计数,所以我得到的所有部门,如果AVG​​(工资)是范围还是我得到空列表的结果。有任何想法吗?

+0

存在BUG在DataNucleus将,但有简单的解决方法。我们可以使用总和/计数而不是平均值,而且工作正常。 – maszter

回答