🖥

Rails – 子テーブルで最小/最大の値を持つレコード1件ずつだけを親テーブルにJOINする

に公開

いちどIDを得ておく必要があるかもしれない
2クエリで実現できそうだ

children_ids = Child.group(:parent_id).maximum(:created_at).values # e.g [6,35,68]

Parent.joins(:children).merge(Child.where(id: children_ids)).select("parents.*, children.*")

maximum を minimum に変えれば最小のレコードをだけをJOINする

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2023-01-08

Discussion