我有很多Topic對象,每個Topic都有許多帖子:Post 如何根據他們的帖子數量排列所有Topic對象?按照Grails中的關聯計數排序
3
A
回答
1
你可以做到,但它需要兩個查詢。這是因爲要按集合的大小排序,您需要使用「分組依據」,但這需要您枚舉所有主題屬性。如果您添加或刪除一個查詢將會中斷。所以,解決的辦法就是運行一個查詢發現下令IDS,第二是獲取實例爲這些ID:
String hql = '''
SELECT t.id
FROM Topic t LEFT JOIN t.posts AS post
GROUP BY t.id
ORDER BY COUNT(post) DESC
'''
def ids = Topic.executeQuery(hql)
def orderedTopics = Topic.getAll(ids)
7
你能做到在一個HQL查詢與大小()函數。這樣,你在一個查詢中獲取主題實例:
SELECT topic
FROM Topic topic
ORDER BY size(topic.posts)
我發現這對http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html,部分14.16溫馨提示&技巧。
相關問題
- 1. 如何按照Grails中關聯表中的列對結果進行排序?
- 2. 按照相反的順序排序關聯數組索引
- 3. ActiveAdmin:排序關聯計數
- 4. 按照鍵降序排列關聯數組=>值
- 5. 按值降序排列關聯數組
- 6. 按照雄辯的關係排序
- 7. 按照升序排序數組數組
- 8. 按has_many關聯的屬性排序
- 9. PHP關聯數組排序
- 10. Rails關聯數據排序
- 11. 排序關聯數組PHP
- 12. 排序關聯數組
- 13. 排序關聯數組
- 14. js排序關聯數組
- 15. 按範圍對JavaScript中的多維關聯數組排序
- 16. Rails 3.按關聯模型排序
- 17. 教條2按關聯標籤排序
- 18. PHP如何先按鍵然後按值排序關聯數組?
- 19. 按照javascript中的時間戳排序
- 20. grails中的多個關聯
- 21. 只按照計劃降序排列數字
- 22. 按照LastTimeWrite排序圖像
- 23. 按照frame.origin.y排序IBOutletCollection TextField數組
- 24. 按Hibernate中關係的數量排序
- 25. 關於計數排序
- 26. 按照Groovy的降序排序Map值
- 27. 如何按關聯數組值排序(複雜數組結構)?
- 28. coredata按關係數排序
- 29. PHP - 按特定值關聯數組的排序陣列
- 30. 按關聯記錄的數量排序記錄