我试图将N+1查询合并到分组查询中。
我有一个付款清单,其中每一个,我需要一组类似的付款(相同的表),有created_at
日期之前的主要组付款,不超过6个月。
其他付款与created_at日期在更远的时间,不需要在该集团。此外,主要支付不需要在集团(我只是在寻找类似的)。
到目前为止,我得到的是:
payments_to_group_by = payments # a list of payments
Payment
.where('created_at >= ? AND created_at <= ?',
6.months.ago, payments_to_group_by.map(&:created_at)
)
.where.not(id: payments_to_group_by.map(&:id))
.group(payments_to_group_by.map(&:id))
我不知道从那以后我能去哪里。我想我应该更新group
参数,但我不确定如何更新
发布于 2022-06-14 17:01:44
我需要的是来自payments_to_group_by
和Payment
表的一个连接,这样DB就给了我大量的行,并且每个行都有我需要的所有信息。
剩下的就是过滤和分组,以我需要的方式,并得到所有的信息,我需要。甚至集合函数(avg,count,sum.)可以来帮忙
https://stackoverflow.com/questions/72617779
复制相似问题