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個のフィールドをリストするのは意味がないと思います...)