RANDOM 関数 - AWS Clean Rooms

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

RANDOM 関数

RANDOM 関数は、0.0 (この値を含む) ~1.0 (この値は含まない) のランダム値を生成します。

構文

RANDOM()

戻り型

RANDOM は DOUBLE PRECISION 型の数値を返します。

  1. 0~99 のランダム値を計算します。ランダムな数値が 0~1 である場合、このクエリは、0~100 のランダムな数値を生成します。

    select cast (random() * 100 as int); INTEGER ------ 24 (1 row)
  2. 10 個のアイテムの均一なランダムサンプルを取得します。

    select * from sales order by random() limit 10;

    10 個のアイテムのランダムサンプルを取得しますが、料金に比例してアイテムを選択します。例えば、別の料金の 2 倍のアイテムは、クエリ結果に表示される可能性が 2 倍になります。

    select * from sales order by log(1 - random()) / pricepaid limit 10;
  3. 次の例では、SET コマンドを使用して SEED 値を設定します。これにより RANDOM が予測可能な順序で数値を生成します。

    まず、SEED 値を最初に設定せずに、3 つの整数の乱数を返します。

    select cast (random() * 100 as int); INTEGER ------ 6 (1 row) select cast (random() * 100 as int); INTEGER ------ 68 (1 row) select cast (random() * 100 as int); INTEGER ------ 56 (1 row)

    次に、SEED 値を .25 に設定して、さらに 3 つの整数の乱数を返します。

    set seed to .25; select cast (random() * 100 as int); INTEGER ------ 21 (1 row) select cast (random() * 100 as int); INTEGER ------ 79 (1 row) select cast (random() * 100 as int); INTEGER ------ 12 (1 row)

    最後に、SEED 値を .25 にリセットして、RANDOM が前の 3 つの呼び出しと同じ結果を返すことを確認します。

    set seed to .25; select cast (random() * 100 as int); INTEGER ------ 21 (1 row) select cast (random() * 100 as int); INTEGER ------ 79 (1 row) select cast (random() * 100 as int); INTEGER ------ 12 (1 row)