我有很多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. 按关联记录的数量排序记录