group by
我知道 PostgreSQL 与 MySQL 不同,在使用聚合函数时需要列出子句中的所有选定字段,例如
Transaction.select('sum(amount), category_id').group('category_id')
很公平。但是当我尝试急切加载关联时,例如
Transaction.select('sum(amount), categories.name').includes(:category).group('categories.name')
它不起作用,因为您没有在 group by 子句中包含两个模型的所有字段。
有没有办法避免列出模型的所有字段,或者我应该考虑接受 N+1 个查询?(当我只需要 2 个字段时,我认为列出 30 个字段没有意义……)