获取ruby中id最高的group中的记录



存在一个数据库关系,其中一些记录由一个group_id组合。

<表类> id group_id 名称 … tbody><<tr>1row23亚历克斯…2row15迈克…3row15安迪…4row16安娜…5row23Max…6row15丽莎…

用这个命令解决

Record.select('DISTINCT ON ("group_id") records.*').order(:group_id, 'records.id DESC')

现在我直接得到每组id最高的记录。

你可以这样做:

Record.group(:group_id).maximum(:id)

输出为

{
'row23' => 5,
'row15' => 3,
'row16' => 4
}

更新:

拥有recordid,您可以在其他查询中使用它们

Record.where(id: Record.group(:group_id).maximum(:id).values)

最新更新