[解決済み] ActiveRecordのランダムレコード
2022-04-23 08:25:16
質問
ActiveRecordでテーブルからランダムにレコードを取得する必要があります。以下の例に従っています。 ジャミーズ・バック(2006年 .
しかし、Google検索で別の方法にも出会いました(新規ユーザー制限のため、リンクで属性がつけられません)。
rand_id = rand(Model.count)
rand_record = Model.first(:conditions => ["id >= ?", rand_id])
また、どのような方法がより効率的かご存知の方がいらっしゃいましたら教えてください。
解決方法は?
少なくとも2つのクエリなしでこれを行う理想的な方法は見つかっていません。
以下では、ランダムに生成された数値(現在のレコード数まで)を オフセット .
offset = rand(Model.count)
# Rails 4
rand_record = Model.offset(offset).first
# Rails 3
rand_record = Model.first(:offset => offset)
正直なところ、私は ORDER BY RAND() か RANDOM() を使っているだけです(データベースによって異なります)。パフォーマンスの問題がなければ、問題ないです。
関連
-
[解決済み] 属性を割り当てる場合、引数としてハッシュを渡す必要がある
-
[解決済み] Railsでグループとカウント
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] JavaScriptで特定の範囲のランダムな整数を生成する?
-
[解決済み] 乱数(int)を生成する方法を教えてください。
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] 英数字のランダムな文字列を生成する方法
-
[解決済み] ランダムな文字列を使用するこのコードは、なぜ "hello world" と表示されるのですか?
-
[解決済み] 0から9までのランダムな整数を生成する
-
[解決済み】大文字と数字を含むランダムな文字列の生成
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】bundle installが "Could not locate Gemfile "を返す。
-
[解決済み】取得中。「プロジェクトのクローンとマイグレート後に、「マイグレーションは保留中です。この問題を解決するには 'bin/rake db:migrate RAILS_ENV=development' を実行してください。
-
[解決済み] 変更欄のRailsマイグレーション
-
[解決済み] Railsで `before_action` での `only:` はどのように機能するのですか?
-
[解決済み] Heroku: 既存のrailsアプリにseeds.rbをプッシュする方法?
-
[解決済み] railsでcheck_boxをcheckedにする方法は?
-
[解決済み] レイル 4 radio_button_tag default not selected
-
[解決済み] ランダムな行を選択する最適な方法 PostgreSQL
-
[解決済み] Rubyで配列をランダムにソート(スクランブル)するには?
-
[解決済み] Rails 3: ランダムレコードの取得