我有很多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. 按值降序排列关联数组
- 9. 按特定键排序关联数组
- 10. 按键排序关联数组
- 11. 按照雄辩的关系排序
- 12. 按照升序排序数组数组
- 13. 按相关型号计数排序记录,然后按照时间顺序排序
- 14. 按has_many关联的属性排序
- 15. 排序关联
- 16. 按键排序关联数组/ javascript对象按字母顺序排序
- 17. Javascript-关联数组排序
- 18. 排序关联数组
- 19. 排序关联数组
- 20. PHP:排序关联数组
- 21. PHP关联数组排序
- 22. 排序关联数组PHP
- 23. js排序关联数组
- 24. Rails关联数据排序
- 25. 通过cakephp中的关联计数分页排序
- 26. 按范围对JavaScript中的多维关联数组排序
- 27. 以asc顺序按数字键排序关联数组
- 28. Jquery按照搜索项的相关性对JSON数组排序
- 29. Rails + Ransack gem:按关联排序属性
- 30. Rails 3.按关联模型排序