テーブルからデータをランダムに検索するサンプルです。
サンプル
例1)M_USERテーブルから10件ランダムに検索する
1 2 3 4 5 6 7 8 9 10 |
SELECT * FROM (SELECT DBMS_RANDOM.RANDOM() AS rnd, m_user.* FROM m_user ORDER BY rnd) WHERE ROWNUM <= 10; |
例2)データ全件の10%分のデータから10件をランダムに返す
1 2 |
SELECT * FROM m_user SAMPLE(10) WHERE ROWNUM <= 10; |
SAMPLEの引数には、0.000001~100未満の数字を指定します。
指定した割合分の結果が返ります。
(例)10 → 結果全体の10%分の結果をランダムで返す。
解説
- SAMPLEを使用する場合、引数に指定する数値が小さすぎると値が返らない場合もあります。
- SAMPLEを使用する場合、戻る件数は一定ではありません。