[解決済み] Postgres の迅速なランダム行選択
2022-10-26 21:53:48
質問
Postgresに数百万行を含むテーブルがあります。私はインターネット上でチェックし、私は次のことを発見しました。
SELECT myid FROM mytable ORDER BY RANDOM() LIMIT 1;
このクエリを作成する他の方法、またはテーブルをすべて読まずにランダムな行を選択する直接の方法はありますか?ちなみに'myid'は整数ですが、空のフィールドでもかまいません。
どのように解決するのですか?
を使って実験してみるとよいでしょう。
OFFSET
のように
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
は
N
の行数です。
mytable
. あなたは、最初に
SELECT COUNT(*)
の値を把握するために
N
.
更新 (by Antony Hatchkins)
を使用する必要があります。
floor
を使う必要があります。
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
2行のテーブルを考える。
random()*N
は
0 <= x < 2
を生成し、例えば
SELECT myid FROM mytable OFFSET 1.7 LIMIT 1;
は暗黙のうちに最も近いint型に丸めるため、0行を返します。
関連
-
エクセルテーブルのデータをpostgresqlのデータベースにインポートする方法
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] JavaScriptで特定の範囲のランダムな整数を生成する?
-
[解決済み] 乱数(int)を生成する方法を教えてください。
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] 英数字のランダムな文字列を生成する方法
-
[解決済み] ランダムな文字列を使用するこのコードは、なぜ "hello world" と表示されるのですか?
-
[解決済み] 0から9までのランダムな整数を生成する
-
[解決済み] SQL Server テーブルからランダムな n 行を選択する
-
[解決済み】大文字と数字を含むランダムな文字列の生成
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
PostgreSQLでデータの一括インポートのパフォーマンスを向上させるn個の方法を説明します。
-
エクセルテーブルのデータをpostgresqlのデータベースにインポートする方法
-
PostgreSQLの自己インクリメント構文使用上の注意点
-
[解決済み] 未知語からテキストへの変換関数の検索に失敗しました。
-
[解決済み] SQLでランダムな行を要求する方法は?
-
[解決済み] ランダムな行を選択する最適な方法 PostgreSQL
-
[解決済み] リレーションシップのパーミッションが拒否されました
-
[解決済み] Postgresqlの場合。パスワード付きで psql を実行するスクリプト
-
[解決済み] ActiveRecordのランダムレコード
-
[解決済み] クエリプランにおける「ビットマップヒープスキャン」とは何ですか?