Sql 两个浮动之间的活动记录查找使用条件
我尝试了我能想到的所有发现组合,但没有100%成功。做这件事的首选方法(或任何可行的方法)是什么 当使用where时,我得到一个不能迭代浮点的错误Sql 两个浮动之间的活动记录查找使用条件,sql,ruby-on-rails,ruby-on-rails-3,activerecord,Sql,Ruby On Rails,Ruby On Rails 3,Activerecord,我尝试了我能想到的所有发现组合,但没有100%成功。做这件事的首选方法(或任何可行的方法)是什么 当使用where时,我得到一个不能迭代浮点的错误 Question.where('id not in (?) AND rating.id = ? AND pvalue BETWEEN ?', not_in, rating_id, 0.0..100.0).limit(25) 使用条件散列时,我不知道如何将结果也限制在数组中。所以我尝试了两个条件,但我认为'id not in(?)部分永远不会转换为s
Question.where('id not in (?) AND rating.id = ? AND pvalue BETWEEN ?', not_in, rating_id, 0.0..100.0).limit(25)
使用条件散列时,我不知道如何将结果也限制在数组中。所以我尝试了两个条件,但我认为'id not in(?)部分永远不会转换为sql…它返回not_in数组中的结果
Question.find_all_by_rating_id(rating_id, :limit=>25, :conditions => ['id not in (?)', not_in], :conditions=>{:pvalue => 0.0..100.0})
上面跳过了第一个条件(不管怎么说,有两个条件看起来并不合适…)并返回
SELECT "questions".* FROM "questions" WHERE "questions"."rating_id" = 458 AND ("questions"."pvalue" BETWEEN 0.0 AND 100.0) LIMIT 25
因此,我需要哈希条件和id not in条件的组合。感谢您的帮助
注意:pvalue是一个float,not_in是我不希望查询返回的ID数组。试试看
Question.where("id not in (?) AND rating.id = ? AND pvalue BETWEEN ? AND ?",
not_in,
rating_id,
0.0, 100.0
).limit(25)