i have 1 many relationship: user has many payments. trying find query gets first payment of each user(using created_at payments table).
i have found similar question sql response, have no idea how write active record.
how query sql latest record date each user
quoting answer:
select t.username, t.date, t.value mytable t inner join ( select username, max(date) maxdate mytable group username ) tm on t.username = tm.username , t.date = tm.maxdate
for me, min instead of max.
thank :)
try 1 postgres
payment.select("distinct on(user_id) *").order("user_id, created_at asc")
and sql
payment.group(:user_id).having('created_at = max(created_at)')
Comments
Post a Comment