我需要获取一个随机记录,其中字段status
的值为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()
在大型表格上可能会非常慢,但对于小型表格来说,这很好。