当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – Rails:选择具有最大日期的记录

来源:互联网 收集:自由互联 发布时间:2021-06-23
在我的应用中,用户可以保存指定日期的销售报告.我现在要做的是查询数据库并仅选择最新的销售报告(所有那些在我的表中具有最大日期的报告). 我知道如何按日期对所有报告进行排序
在我的应用中,用户可以保存指定日期的销售报告.我现在要做的是查询数据库并仅选择最新的销售报告(所有那些在我的表中具有最大日期的报告).

我知道如何按日期对所有报告进行排序并选择具有最高日期的报告 – 但是我不知道如何检索具有最高日期的多个报告.

我怎样才能做到这一点?我正在使用Postgres.

像这样的东西?

SalesReport.where(date: SalesReport.maximum('date'))

编辑:为了使下面的@ muistooshort评论具有可见性,您可以使用以下格式将两个查询减少到单个查询(使用子选择):

SalesReport.where(date: SalesReport.select('MAX(date)'))

如果Web主机与数据库主机之间存在大量延迟,则可能会使执行时间缩短一半.它几乎总是首选的形式.

网友评论