Die Funktion RANDOM - AWS Clean Rooms

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die Funktion RANDOM

Die RANDOM-Funktion generiert einen zufälligen Wert zwischen 0,0 (einschließlich) und 1,0 (ausschließlich).

Syntax

RANDOM()

Rückgabetyp

RANDOM gibt eine DOUBLE PRECISION-Zahl zurück.

Beispiele

  1. Berechnet einen zufälligen Wert zwischen 0 und 99. Wenn die zufällige Zahl 0 bis 1 ist, produziert diese Abfrage eine zufällige Zahl zwischen 0 und 100:

    select cast (random() * 100 as int); INTEGER ------ 24 (1 row)
  2. Rufen Sie eine einheitliche zufällige Stichprobe von 10 Elementen ab:

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

    Rufen Sie jetzt eine zufällige Stichprobe von 10 Elementen ab, wählen Sie die Elemente jedoch im Verhältnis zu deren Preis aus. Beispiel: Ein Element, das doppelt so teuer wie ein anderes Element ist, wird doppelt so wahrscheinlich in den Abfrageergebnissen angezeigt:

    select * from sales order by log(1 - random()) / pricepaid limit 10;
  3. In diesem Beispiel wird der Befehl SET verwendet, um einen SEED-Wert festzulegen, sodass RANDOM eine vorhersehbare Folge von Zahlen generiert.

    Geben Sie zunächst drei RANDOM-Ganzzahlen zurück, ohne zuerst den SEED-Wert festzulegen:

    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)

    Legen Sie nun den SEED-Wert auf .25 fest und geben Sie drei weitere RANDOM-Zahlen zurück:

    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)

    Setzen Sie zum Schluss den SEED-Wert auf .25 zurück und überprüfen Sie, ob RANDOM dieselben Ergebnisse wie in den vorherigen drei Aufrufen zurückgibt:

    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)