在我的应用程序中,用户可以保存给定日期的销售报告。我现在要做的是查询数据库并仅选择最新的销售报告(所有那些在我的表中具有最大日期的报告)。
我知道如何按日期对所有报告进行排序并选择日期最长的报告 - 但是我不知道如何检索多个日期最长的报告。
我怎样才能做到这一点?我正在使用 Postgres。
最佳答案
是这样的吗?
SalesReport.where(date: SalesReport.maximum('date'))
编辑:只是为了让@muistooshort 在下面的评论可见,您可以使用以下形式将两个查询减少为一个查询(使用子选择):
SalesReport.where(date: SalesReport.select('MAX(date)'))
如果您的 Web 主机和数据库主机之间存在大量延迟,这可能会使执行时间减半。它几乎总是首选形式。
关于ruby-on-rails - rails : select records with maximum date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42497964/