2012-11-02 46 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

回答