通过分组获得最新记录

时间:2014-09-17 14:37:34

标签: ruby-on-rails ruby ruby-on-rails-3

我需要" nps"基于created_at日期(即datetime字段)的每个帐户的最新反馈记录中的字段值。我已经为此做过工作,但它已经撤回了每个帐户的第一条记录。我在某个地方明显错了吗?

nps_total = 0
nps_records = Feedback.select([:nps, 'MAX(created_at)']).group(:account_id).each do |record| 
  nps_total += record.nps
end

1 个答案:

答案 0 :(得分:0)

嗯,根据我的理解,您有2个模型:帐户和反馈以及Account has_many :feedbacks。现在,您的反馈模型有一个" nps"值。

如果我是对的,你只需要做一些像

这样的事情
nps_total = 0
Account.all.each do |account|
 nps_total += account.feebacks.order("created_at").last.nps
end