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.
LAGFensterfunktion
Die LAG Fensterfunktion gibt die Werte für eine Zeile mit einem bestimmten Offset über (vor) der aktuellen Zeile in der Partition zurück.
Syntax
LAG (value_expr [, offset ]) [ IGNORE NULLS | RESPECT NULLS ] OVER ( [ PARTITION BY window_partition ] ORDER BY window_ordering )
Argumente
- value_expr
-
Die Zielspalte oder der Ausdruck, für die/den die Funktion ausgeführt wird.
- offset
-
Ein optionaler Parameter, der die Anzahl der Zeilen vor der aktuellen Zeile angibt, für die Werte zurückgegeben werden sollen. Beim Offset kann es sich um eine ganzzahlige Konstante oder um einen Ausdruck handeln, der zu einer Ganzzahl ausgewertet wird. Wenn Sie keinen Offset angeben, verwendet Amazon Redshift
1
als Standardwert. Ein Offset von0
gibt die aktuelle Zeile an. - IGNORE NULLS
-
Eine optionale Spezifikation, die angibt, dass Amazon Redshift bei der Festlegung der Zeile, die verwendet werden soll, Null-Werte überspringen soll. Nullwerte sind enthalten, wenn sie IGNORE NULLS nicht aufgeführt sind.
Anmerkung
Sie können einen NVL COALESCE OR-Ausdruck verwenden, um die Nullwerte durch einen anderen Wert zu ersetzen. Weitere Informationen finden Sie unter NVLund COALESCE Funktionen.
- RESPECT NULLS
-
Gibt an, dass Amazon Redshift bei der Festlegung der Zeile, die verwendet werden soll, Null-Werte berücksichtigen soll. RESPECTNULLSwird standardmäßig unterstützt, wenn Sie nichts angeben IGNORENULLS.
- OVER
-
Gibt die Fensterpartitionierung und -anordnung an. Die OVER Klausel darf keine Fensterrahmenspezifikation enthalten.
- PARTITIONVON window_partition
-
Ein optionales Argument, das den Datensatzbereich für jede Gruppe in der OVER Klausel festlegt.
- ORDERVON window_ordering
-
Sortiert die Zeilen innerhalb der einzelnen Partitionen.
Die LAG Fensterfunktion unterstützt Ausdrücke, die einen der Amazon Redshift Redshift-Datentypen verwenden. Der Rückgabetyp ist mit dem Typ von value_expr identisch.
Beispiele
Im folgenden Beispiel wird die Menge der Tickets gezeigt, die an den Käufer mit der Käufer-ID 3 verkauft wurden, sowie die Uhrzeit, zu der Käufer 3 die Tickets gekauft hat. Um jeden Verkauf mit dem vorherigen Kauf für Käufer 3 zu vergleichen, gibt die Abfrage für jeden Verkauf die vorherige Menge zurück, die verkauft wurde. Da vor dem 16.01.2008 kein Kauf stattfand, ist der erste Wert für die vorherige verkaufte Menge null:
select buyerid, saletime, qtysold, lag(qtysold,1) over (order by buyerid, saletime) as prev_qtysold from sales where buyerid = 3 order by buyerid, saletime; buyerid | saletime | qtysold | prev_qtysold ---------+---------------------+---------+-------------- 3 | 2008-01-16 01:06:09 | 1 | 3 | 2008-01-28 02:10:01 | 1 | 1 3 | 2008-03-12 10:39:53 | 1 | 1 3 | 2008-03-13 02:56:07 | 1 | 1 3 | 2008-03-29 08:21:39 | 2 | 1 3 | 2008-04-27 02:39:01 | 1 | 2 3 | 2008-08-16 07:04:37 | 2 | 1 3 | 2008-08-22 11:45:26 | 2 | 2 3 | 2008-09-12 09:11:25 | 1 | 2 3 | 2008-10-01 06:22:37 | 1 | 1 3 | 2008-10-20 01:55:51 | 2 | 1 3 | 2008-10-28 01:30:40 | 1 | 2 (12 rows)