在我的应用中,用户可以保存指定日期的销售报告.我现在要做的是查询数据库并仅选择最新的销售报告(所有那些在我的表中具有最大日期的报告). 我知道如何按日期对所有报告进行排序
我知道如何按日期对所有报告进行排序并选择具有最高日期的报告 – 但是我不知道如何检索具有最高日期的多个报告.
我怎样才能做到这一点?我正在使用Postgres.
像这样的东西?SalesReport.where(date: SalesReport.maximum('date'))
编辑:为了使下面的@ muistooshort评论具有可见性,您可以使用以下格式将两个查询减少到单个查询(使用子选择):
SalesReport.where(date: SalesReport.select('MAX(date)'))
如果Web主机与数据库主机之间存在大量延迟,则可能会使执行时间缩短一半.它几乎总是首选的形式.