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 Fensterfunktion NTH_VALUE gibt den Ausdruckswert der angegebenen Zeile des Fensterrahmens in Bezug auf die erste Zeile des Fensters zurück.
Syntax
NTH_VALUE (expr, offset) [ IGNORE NULLS | RESPECT NULLS ] OVER ( [ PARTITION BY window_partition ] [ ORDER BY window_ordering frame_clause ] )
Argumente
- expr
-
Die Zielspalte oder der Ausdruck, für die/den die Funktion ausgeführt wird.
- offset
-
Legt die Zeilenzahl in Bezug auf die erste Zeile in dem Fenster zurück, für das der Ausdruck zurückgegeben werden soll. Beim Offset kann es sich um eine Konstante oder einen Ausdruck handeln. Es muss sich um eine positive Ganzzahl größer als 0 handeln.
- IGNORE NULLS
-
Eine optionale Spezifikation, die angibt, dass Amazon Redshift bei der Festlegung der Zeile, die verwendet werden soll, Null-Werte überspringen soll. Wenn IGNORE NULLS nicht angegeben wird, werden Null-Werte berücksichtigt.
- RESPECT NULLS
-
Gibt an, dass Amazon Redshift bei der Festlegung der Zeile, die verwendet werden soll, Null-Werte berücksichtigen soll. Wenn Sie IGNORE NULLS nicht angeben, wird RESPECT NULLS standardmäßig unterstützt.
- OVER
-
Gibt die Fensterpartitionierung und -anordnung sowie den Fensterrahmen an.
- PARTITION BY window_partition
-
Legt den Datensatzbereich für die einzelnen Gruppen in der OVER-Klausel fest.
- ORDER BY window_ordering
-
Sortiert die Zeilen innerhalb der einzelnen Partitionen. Wenn die ORDER BY-Klausel ausgelassen wird, besteht der Rahmen standardmäßig aus allen Zeilen in der Partition.
- frame_clause
-
Wenn eine ORDER BY-Klausel für eine Aggregationsfunktion verwendet wird, ist eine explizite Rahmenklausel erforderlich. Die Rahmenklausel gibt den Satz von Zeilen im Fenster einer Funktion genauer an, einschließlich oder ausschließlich Sätzen von Zeilen im geordneten Ergebnis. Die Rahmenklausel besteht aus dem Schlüsselwort ROWS und verknüpften Spezifikatoren. Siehe Übersicht über die Syntax von Fensterfunktionen.
Die Fensterfunktion NTH_VALUE unterstützt Ausdrücke, die einen der Amazon-Redshift-Datentypen verwenden. Der Rückgabetyp ist mit dem Typ von expr identisch.
Beispiele
Im folgenden Beispiel wird die Anzahl der Sitzplätze der drittgrößten Veranstaltungsorte in Kalifornien, Florida, und New York gezeigt, verglichen mit der Anzahl der Sitzplätze der anderen Veranstaltungsorte in diesen Bundesstaaten:
select venuestate, venuename, venueseats,
nth_value(venueseats, 3)
ignore nulls
over(partition by venuestate order by venueseats desc
rows between unbounded preceding and unbounded following)
as third_most_seats
from (select * from venue where venueseats > 0 and
venuestate in('CA', 'FL', 'NY'))
order by venuestate;
venuestate | venuename | venueseats | third_most_seats
------------+--------------------------------+------------+------------------
CA | Qualcomm Stadium | 70561 | 63026
CA | Monster Park | 69843 | 63026
CA | McAfee Coliseum | 63026 | 63026
CA | Dodger Stadium | 56000 | 63026
CA | Angel Stadium of Anaheim | 45050 | 63026
CA | PETCO Park | 42445 | 63026
CA | AT&T Park | 41503 | 63026
CA | Shoreline Amphitheatre | 22000 | 63026
FL | Dolphin Stadium | 74916 | 65647
FL | Jacksonville Municipal Stadium | 73800 | 65647
FL | Raymond James Stadium | 65647 | 65647
FL | Tropicana Field | 36048 | 65647
NY | Ralph Wilson Stadium | 73967 | 20000
NY | Yankee Stadium | 52325 | 20000
NY | Madison Square Garden | 20000 | 20000
(15 rows)