PERCENTFunktion „_ FensterRANK“ - Amazon Redshift

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.

PERCENTFunktion „_ FensterRANK“

Berechnet den prozentualen Rang einer bestimmten Zeile. Der prozentuale Rang wird anhand der folgenden Formel festgelegt:

(x - 1) / (the number of rows in the window or partition - 1)

wobei x der Rang der aktuellen Zeile ist. Der folgende Datensatz zeigt die Verwendung dieser Formel:

Row# Value Rank Calculation PERCENT_RANK 1 15 1 (1-1)/(7-1) 0.0000 2 20 2 (2-1)/(7-1) 0.1666 3 20 2 (2-1)/(7-1) 0.1666 4 20 2 (2-1)/(7-1) 0.1666 5 30 5 (5-1)/(7-1) 0.6666 6 30 5 (5-1)/(7-1) 0.6666 7 40 7 (7-1)/(7-1) 1.0000

Der Rückgabewertbereich ist 0 bis 1 (einschließlich). Die erste Zeile in jedem Satz hat einen PERCENT _ RANK von 0.

Syntax

PERCENT_RANK () OVER ( [ PARTITION BY partition_expression ] [ ORDER BY order_list ] )

Argumente

( )

Die Funktion verwendet keine Argumente. Es ist jedoch eine leere Klammer erforderlich.

OVER

Eine Klausel, die die Fensterpartitionierung angibt. Die OVER Klausel darf keine Fensterrahmenspezifikation enthalten.

PARTITIONVON partition_expression

Optional. Ein Ausdruck, der den Datensatzbereich für jede Gruppe in der Klausel festlegt. OVER

ORDERVON order_list

Optional. Der Ausdruck, anhand dessen der prozentuale Rang berechnet wird. Der Datentyp des Ausdrucks muss entweder numerisch sein oder implizit in einen solchen konvertierbar sein. Wenn ORDER BY weggelassen wird, ist der Rückgabewert 0 für alle Zeilen.

Wenn ORDER BY keine eindeutige Reihenfolge ergibt, ist die Reihenfolge der Zeilen nicht deterministisch. Weitere Informationen finden Sie unter Spezifisches Anordnen von Daten für Fensterfunktionen.

Rückgabetyp

FLOAT8

Beispiele

Im folgenden Beispiel wird der prozentuale Rang der Verkaufsmengen für die einzelnen Verkäufer berechnet:

select sellerid, qty, percent_rank() over (partition by sellerid order by qty) from winsales; sellerid qty percent_rank ---------------------------------------- 1 10.00 0.0 1 10.64 0.5 1 30.37 1.0 3 10.04 0.0 3 15.15 0.33 3 20.75 0.67 3 30.55 1.0 2 20.09 0.0 2 20.12 1.0 4 10.12 0.0 4 40.23 1.0

Eine Beschreibung der WINSALES Tabelle finden Sie unter. Beispieltabelle mit Beispielen von Fensterfunktionen