【问题标题】:Get All Rows Created In the Past Five Minutes in Ruby Sequel在 Ruby Sequel 中获取过去五分钟内创建的所有行
【发布时间】: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.minutes5.hours 这样的抽象,它们都被转换为秒数。

但我不太确定如何将其转换为 Sequel

【问题讨论】:

  • MySQL 也支持 MINUTES..CURRENT_TIMESTAMP - INTERVAL 5 MINUTES 是 eazer to read then 300 SECONDS.
  • 好吧,就我而言,我正在使用 ActiveSupport Time 库,它允许用户指定诸如 5.minutes2.hours 之类的内容,最终都将转换为秒。所以在这种情况下,使用INTERVAL - x SECONDS就可以了!

标签: mysql ruby sequel


【解决方案1】:
MyApp::Model::MyClass.where {created_at >= Time.now - interval}

interval 是秒数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 2019-05-07
    • 2021-09-25
    • 2020-12-28
    • 2018-05-03
    • 2013-10-20
    • 1970-01-01
    相关资源
    最近更新 更多