【发布时间】:2018-08-26 02:57:07
【问题描述】:
我正在使用 Ruby Sequel,我想检索在过去 n 秒内创建的所有行。因此,假设我在过去 300 秒(5 分钟)内创建了 5 行,我想检索所有这些行。
SELECT COUNT(id)
FROM `table`
WHERE `timestamp` >= CURRENT_TIMESTAMP - INTERVAL 300 SECONDS
附:我使用 N SECONDS 的原因是因为我正在使用 ActiveSupport 的时间库,它允许我使用像 5.minutes 或 5.hours 这样的抽象,它们都被转换为秒数。
但我不太确定如何将其转换为 Sequel
【问题讨论】:
-
MySQL 也支持 MINUTES..
CURRENT_TIMESTAMP - INTERVAL 5 MINUTES是 eazer to read then 300 SECONDS. -
好吧,就我而言,我正在使用 ActiveSupport Time 库,它允许用户指定诸如
5.minutes或2.hours之类的内容,最终都将转换为秒。所以在这种情况下,使用INTERVAL - x SECONDS就可以了!