我无法找到一个从sqlite数据库中获取10个随机记录的好方法。看到一些与mysql一起使用的例子,但是即使我尝试使用Random()而不是rand(),它们似乎也不能与sqlite一起使用。
我试图获取随机数,然后通过id获取记录,但由于某种原因,我得到了几个结果为零。如果有更好的方法,我很好奇。
另外作为旁注,这是我使用Ruby和Rails的第3天所以还是有点新的。
答案 0 :(得分:4)
怎么样
User.all.sort_by{rand}.slice(0,10)
这只是为了测试,对吧?
编辑:不再是与数据库无关的,但对于sqlite3:
User.find(:all, :order => "RANDOM()", :limit => 10)
和mysql:
User.find(:all, :order => "RAND()", :limit => 10)