鉴于我有一个成员表:

id   membername
-------------------
1    Fred
2    Dave
3    Jenny

和一个 Jobs 表
id   member_id   status
1    1           Closed
2    2           Pending
3    2           Open
4    3           Pending
5    3           Pending

我想按成员输出待处理作业的总数。

所以有了上面的数据,我想:
membername  count
Dave        1
Jenny       2

我可以使用 group 方法获取计数,例如
Job.where("status = ?", "Pending").group(:member_id).count

但这不会返回名称。只是 member_id 和计数的散列。我想我需要以某种方式将此结果加入到成员表中。我当然可以用原始 SQL 做到这一点,但想知道是否有一种更简洁的方式来获取这些数据。

最佳答案

Job.where("status = ?", "Pending").joins(:member).group("member.name").count

关于ruby-on-rails - Rails 使用关联分组和计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10672570/

10-11 19:22