fungsi RANDOM - AWS Clean Rooms

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

fungsi RANDOM

Fungsi RANDOM menghasilkan nilai acak antara 0,0 (inklusif) dan 1,0 (eksklusif).

Sintaks

RANDOM()

Jenis pengembalian

RANDOM mengembalikan nomor PRESISI GANDA.

Contoh-contoh

  1. Hitung nilai acak antara 0 dan 99. Jika angka acak adalah 0 hingga 1, kueri ini menghasilkan angka acak dari 0 hingga 100:

    select cast (random() * 100 as int); INTEGER ------ 24 (1 row)
  2. Ambil sampel acak seragam dari 10 item:

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

    Sekarang ambil sampel acak 10 item, tetapi pilih item secara proporsional dengan harganya. Misalnya, item yang dua kali harga yang lain akan dua kali lebih mungkin muncul dalam hasil kueri:

    select * from sales order by log(1 - random()) / pricepaid limit 10;
  3. Contoh ini menggunakan perintah SET untuk menetapkan nilai SEED sehingga RANDOM menghasilkan urutan angka yang dapat diprediksi.

    Pertama, kembalikan tiga bilangan bulat RANDOM tanpa mengatur nilai SEED terlebih dahulu:

    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)

    Sekarang, atur nilai SEED ke.25, dan kembalikan tiga angka RANDOM lagi:

    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)

    Terakhir, setel ulang nilai SEED ke.25, dan verifikasi bahwa RANDOM mengembalikan hasil yang sama dengan tiga panggilan sebelumnya:

    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)