2012-04-21 46 views
0

我已經被用GORM指標分析,因爲工作了一段時間,我真的很喜歡他們(有很大幫助,以保持複雜下來,使代碼可以理解的)。GORM標準由絕對值

我有此刻的一些問題,而試圖得到一個屬性的絕對值排序的結果:

Person.createCriteria(){ 
    order("abs(rating)", "desc") 
} 

這當然是這樣沒有工作。

沒有人有任何的想法會是什麼做的正確方法是什麼? (在GORM排序絕對值)

感謝, 薩科

回答

2

我想不出任何東西直接在標準的ABS進行排序,但這種標準後整理將工作:

def personInstanceList = Person.withCriteria { 
     //whatever is necessary for your query 
    } 
    personInstanceList.sort {a, b-> java.lang.Math.abs(b.rating) <=> java.lang.Math.abs(a.rating)} //b.rating <=> a.rating sorts desc 
+0

嗨凱利,感謝您的回答,但這種解決方案在我的情況下不起作用。查詢後對列表進行排序,意味着您必須從db中查詢整個數據集,對於大集合(> 10'000)來說這是極端不夠的。這就是爲什麼我必須在SQL級別執行此操作! – Nicolas 2012-05-07 13:26:33

+0

這不是我正在尋找的,但是經過很多小時試圖找到如何解決我的問題,我決定使用您的解決方案。謝謝 :)!! – IgniteCoders 2014-07-16 17:10:40