mysql - postgresql Rails 价格范围过滤器之间

标签 mysql ruby-on-rails ruby rails-postgresql pg

我有以下价格范围数组,如何执行查询来查找这些使用和运算符之间的价格范围

这是我的数组

["0-1000", "5001_15000", "15001_25000"]

这是否是我必须执行的唯一方法,否则是否有任何方法来执行此类过滤器

select * from posts where price between 0 and 1000 and price between 5001 and 15000

编辑-1

正如你所说,我在控制台中尝试过

a = [[0,1000],[5001 ,15000], [15001, 25000]]

(a[0].first..a[0].last)

这给出了0..1000,当我尝试时

(a[0].first..a[0].last and a[1].first..a[1].last)

它只显示5001..15000,请解释一下。

编辑2

只有这样我才能添加更多值

Post.where(price: a[0].first..a[0].last)

最佳答案

我将开始调整您的价格范围数组。 来自:

["0-1000", "5001_15000", "15001_25000"]

a = [[0,1000],[5001 ,15000], [15001, 25000]]

这将使您可以访问第一个和最后一个价格范围界限

(a[0].first..a[0].last))

上面的范围将产生 0..1000,您可以将其插入事件记录中(当然使用哈希语法)

示例:

Post.where(price: a[0].first..a[0].last)

使其成为可重复使用的范围,以便能够将它们链接起来以适应 And 或仅编写原始 sql。

希望这有帮助

关于mysql - postgresql Rails 价格范围过滤器之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20166478/

相关文章:

sql - Ruby on Rails Where 子句小于大于

ruby-on-rails - 使用 Globalize 的迁移错误

mysql - MySQL 记录之间的笛卡尔积

ruby-on-rails - 安装 ruby​​ gems 后,运行新的 gem 返回 "Could not find"错误

javascript - 选中/取消选中所有复选框在 IE8 中不起作用

mysql - 条件唯一性约束 Ruby on Rails

ruby-on-rails - Ruby 语法 - 数组的位置

mysql - 为什么 MySQL 允许没有聚合函数的 "group by"查询?

mysql - 这个带有 HAVING MAX 的查询实际上如何正确工作?

php - mysql double data in searching