私は、そのユーザーに属しているユーザーおよびタスクを所有しています。私は5つ未満のタスクを持つユーザーの数を取得したいと思います。それをどうやってやりますか?関連付けの数に基づいてレコードのリストをフィルタリングするにはどうすればよいですか?
User.joins(:tasks).select("users.*, count(*) as task_count").having("task_count < 5").group(:id)
EDIT:そこにこれを行うための簡単な方法ですが、これは動作するかどう
。それは、私がかなり正確であると確信している数字を私に与えています。私たちには約10,000人のユーザーがおり、これを変更して100個未満のタスクを持つユーザーを見つけ出すと、約2,000人がいると私に伝えます。しかし、1人のユーザーあたりのタスクの平均数は2.2です...どのように正しいことができますか?編集:それから私は100以上のタスクを持つユーザーを行うとき、それは82と言う...私たちの10,000人のユーザーの合計よりも少ない合計。 –
申し訳ありません。あなたの質問によく合うように私の答えを編集しました。 –