查找已接近创建到当前最新记录(Find records that were created clos

2019-07-31 10:12发布

我想获得有他们的记录created_at日期最接近当前日期。 我怎样才能做到这一点与活动记录where条款?

Answer 1:

你可以找到的东西,如过去的最近战绩:

Record.where("created_at <= ?", Date.today).order_by("created_at DESC").limit(1)

同样的,你可以在未来的最近记录

Record.where("created_at >= ?", Date.today).order_by("created_at ASC").limit(1)

然后比较至极一个最接近当前日期...

可能有一个请求,做一个解决方案,但我怎么也找不到(如果你使用SQL服务器,有一个方法DATEDIFF,可以帮助)。

更新由于米沙

如果您确信所有created_at是在过去,你看最后创建的记录,这可以写成

Record.order("created_at").last

更新

为了让所有的记录创造同日,则最后一个记录:

last_record_date = Record.max(:created_at)
Record.where(:created_at => (last_record_date.at_beginning_of_day)..(last_record_date.end_of_day))


文章来源: Find records that were created closest to the current date