LAGfunzione finestra - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

LAGfunzione finestra

La funzione LAG window restituisce i valori di una riga con un determinato offset al di sopra (prima) della riga corrente nella partizione.

Sintassi

LAG (value_expr [, offset ]) [ IGNORE NULLS | RESPECT NULLS ] OVER ( [ PARTITION BY window_partition ] ORDER BY window_ordering )

Argomenti

value_expr

L'espressione o colonna di destinazione su cui viene eseguita la funzione.

offset

Un parametro facoltativo che specifica il numero di righe prima della riga corrente per le quali restituire i valori. La compensazione può essere un integer costante o un'espressione che valuta un integer. Se non viene specificato un offset, Amazon Redshift utilizza 1 come valore predefinito. Una compensazione di 0 indica la riga corrente.

IGNORE NULLS

Una specifica facoltativa che indica che Amazon Redshift dovrebbe saltare i valori null nella determinazione della riga da utilizzare. I valori nulli vengono inclusi se non IGNORE NULLS sono elencati.

Nota

È possibile utilizzare un'COALESCEespressione NVL or per sostituire i valori nulli con un altro valore. Per ulteriori informazioni, consulta NVLe COALESCE funzioni.

RESPECT NULLS

Indica che Amazon Redshift dovrebbe includere valori null nella determinazione della riga da utilizzare. RESPECTNULLSè supportato per impostazione predefinita se non lo si specifica IGNORENULLS.

OVER

Specifica il partizionamento e l'ordinamento della finestra. La OVER clausola non può contenere una specifica del telaio della finestra.

PARTITIONDI window_partition

Un argomento facoltativo che imposta l'intervallo di record per ogni gruppo della clausola. OVER

ORDERDI window_ordering

Ordina le righe all'interno di ogni partizione.

La funzione LAG window supporta espressioni che utilizzano qualsiasi tipo di dati di Amazon Redshift. Il tipo di restituzione è lo stesso del tipo di dati di value_expr.

Esempi

L'esempio seguente mostra la quantità di biglietti venduti all'acquirente con un ID acquirente di 3 e il tempo in cui l'acquirente 3 ha acquistato i biglietti. Per confrontare ogni vendita con la vendita precedente per l'acquirente 3, la query restituisce la quantità venduta per ogni vendita precedente. Poiché non è stato effettuato alcun acquisto prima del 16/01/2008, il primo valore venduto precedentemente è 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)