鉴于我有一张会员表:
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
我可以使用组方法获取计数,例如
Job.where("status = ?", "Pending").group(:member_id).count
但这不会返回名称。只是一个member_id的哈希和计数。我想我需要以某种方式将这个结果加入到成员表中。我当然可以使用原始SQL做到这一点,但是想知道是否有更简洁的方法来获取这些数据。
答案 0 :(得分:5)
Job.where("status = ?", "Pending").joins(:member).group("member.name").count