mysql - 从 Rails 范围获取第二行

标签 mysql ruby-on-rails ruby

  second = Trade.with_currency(currency).h24.order('id desc').limit(1).offset(1).try(:price)
  first = Trade.with_currency(currency).h24.order('id desc').first.try(:price)

我想获取第一行和第二行的价格。第一个正在工作,但我无法获得第二行。通过上述查询,我​​得到了零。

当我直接在 mysql 中查询第二行时,它正在运行:

SELECT `trades`.* FROM `trades` WHERE `trades`.`currency` = 5 AND (created_at > '2014-01-11 16:20:06') ORDER BY id desc LIMIT 1 OFFSET 1;

最佳答案

      prev = Trade.with_currency(currency).order('id desc').limit(1).offset(1).first.try(:price)

这是解决方案 - 我添加了选择第一个结果偏移 1。

关于mysql - 从 Rails 范围获取第二行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25810810/

相关文章:

MySQL:从列表中获取下一个最接近的值

php - PDO 多重查询

ruby-on-rails - 如何在Rails模型中访问ActiveStorage临时文件?

ruby-on-rails - 编辑设计失败的注册路径 - Rails

ruby-on-rails - 在 Active Record 查询中包含 Active Storage 附件

ruby - 在 Ruby 中按名称以编程方式访问变量

PHP/MySQL "Quiz"游戏 - 表单输入值

mysql - phpmyadmin 多个条目的时间戳不正确

mysql - RoR - rake rs :index fails with NameError on Rails 4. 0.4(4.1.7),思考狮身人面像 3.1.1

ruby-on-rails - Ruby 的 require 语句的漂亮版本?