Postgresql Rails:在一定范围内随机选择记录



我在我的控制器中有以下代码来选择随机照片:

@photo1 = @contest.photos.limit(1).order("RANDOM()")

我希望随机选择另一张照片作为@photo2,但它的分数属性必须是@photo1分数的+/- 400。我该怎么做呢?

可选:我希望@photo2的分数在@photo1的+/- 200以内,如果没有,则搜索+/- 400

您可以使用带有范围的where来生成BETWEEN语句。

Photo.where(score: ((@photo1.score-200)..(@photo1.score+200)))
     .order("RANDOM()").take

相关内容

  • 没有找到相关文章

最新更新