Rails获取随机记录,其中字段具有特定值

时间:2013-04-07 02:43:18

标签: ruby-on-rails ruby

我需要获取一个随机记录,其中字段status的值为2

2 个答案:

答案 0 :(得分:2)

如果你担心速度,这可能会更快:

Model.where(status: 2).offset(rand(Model.where(status: 2).count)).first

答案 1 :(得分:1)

真正的黑客方法是:

Model.where(:status => 2).order('RAND()').first

请注意ORDER BY RAND()在大型表格上可能会非常慢,但对于小型表格来说,这很好。