【发布时间】:2015-02-17 18:12:20
【问题描述】:
我的产品表在不同日期有每个产品的多个版本。
我想找到按 version_id 分组的每个 max(date)。 我想要一个 ActiveRecord::Relation 对应于该最大日期和 version_id 的行。
在 app/models/product.rb 中:
def self.latest_versions
select("max(date) as max_date").
select("version_id").
group("version_id")
end
如何将 Product 与此“临时表”结合起来,以获取与返回的日期和版本 ID 匹配的所有产品?我显然不能在上面的方法中选择 :id 因为它不是 Group By 列。
实际场景更复杂,但我可能遗漏了属于这种简化场景的基本原则?
【问题讨论】:
标签: ruby-on-rails-4 arel