0

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

4

2 回答 2

2

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

Model.where(status: 2).offset(rand(Model.where(status: 2).count)).first
于 2013-04-07T03:32:42.580 回答
1

真正的黑客方法是:

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

请注意,ORDER BY RAND()在大桌子上可能会非常慢,但对于小桌子来说没问题。

于 2013-04-07T02:50:29.377 回答