2011-01-21 10 views
0

Ruby on Rails(2.3.9)アプリケーションでデータベースからランダムレコードを取得する最も良い方法は何ですか?DBからランダムレコードを取得する

私が得た最も近いものは以下のものを使用していました。 SQLite3は本番環境ではMySQLが好きではありませんでした。

#class PostsController < ApplicationController 
... 
@posts = Post.all(:order => "RANDOM()") 
... 
end 

#view 
<% @posts.each do |post| %> 
... 
<% end %> 

答えて

1

MySQLの機能はRAND()です。 RANDOM()の代わりに使用してください。

0

次のSQLクエリは、MySQL上で私のために正常に動作します:

SELECT * 
FROM table 
ORDER BY rand() 
LIMIT 1 

私が何本のレールが同等わからないんだけど、あなたは私が取るよアイデア

を取得SQL上記のRailsの同等のだろうと推測:

Post.all(:order => "rand()", :limit => 1) 
0

これはあなたの問題の範囲とあなたがdatabaのサイズによってはできない場合がありますse。 Axiom of Choiceを参照してください。 ;)

+0

その答えには多くの未定義があります。 –

関連する問題