有没有一种方法可以在一个查询中获得ActiveRecord Rails中数组中条件的所有最后一条记录



这就是我需要的。对于表X,存在列name

`{:id => 1,:name => a}
 {:id => 2,:name => b}
 {:id => 3,:name => a}
 {:id => 4,:name => b}`

关于哈希列表是表X的内容。现在我想为名称['a','b']选择最后一条记录。

X.where(:name => ['a','b'])会给我所有的记录,但我只想要id=>[3,4](即最后一个添加了名称ab的记录,并且我只想使用一个查询。

你可以试试这个,

X.group(:name).having('created_at = MAX(created_at)')

您可以为get-only id:尝试此操作

X.where(name: ['a','b']).group(:name).maximum(:id)

最新更新