clausola struttura Window
Si applica a: Databricks SQL
Databricks Runtime
Specifica un subset scorrevole di righe all'interno del partition su cui opera la funzione di aggregazione o analisi window.
{ frame_mode frame_start |
frame_mode BETWEEN frame_start AND frame_end } }
frame_mode
{ RANGE | ROWS }
frame_start
{ UNBOUNDED PRECEDING |
offset_start PRECEDING |
CURRENT ROW |
offset_start FOLLOWING }
frame_end
{ offset_stop PRECEDING |
CURRENT ROW |
offset_stop FOLLOWING |
UNBOUNDED FOLLOWING }
frame_mode
ROWS
Se specificato, il frame window scorrevole viene espresso in termini di righe precedenti o successive alla riga corrente.
RANGE
Se specificato, la funzione window deve specificare una clausola ORDER BY con una singola espressione
obExpr
.I limiti del window scorrevole vengono quindi espressi come offset dalla
obExpr
per la riga corrente.
frame_start
Posizione iniziale della cornice scorrevole window rispetto alla riga corrente.
UNBOUNDED PRECEDING
Specifica che il frame di window inizia all'inizio di partition.
offset_start PRECEDENTE
Se la modalità è
ROWS
,offset_start
è il numero letterale integrale positivo che definisce il numero di righe prima dell'avvio della riga corrente del frame.Se la modalità è
RANGE
,offset_start
è un valore letterale positivo di un tipo che può essere sottratto daobExpr
. Il fotogramma inizia dalla prima riga del partition per la quale, nella riga corrente,obExpr
è maggiore o uguale aobExpr - offset_start
.CURRENT ROW
Specifica che il frame inizia dalla riga corrente.
offset_start FOLLOWING
Se la modalità è
ROWS
,offset_start
è il numero letterale integrale positivo che definisce il numero di righe passate alla riga corrente che inizia il frame. Se la modalità èRANGE
,offset_start
è un valore letterale positivo di un tipo che può essere aggiunto aobExpr
. La cornice inizia alla prima riga del partition per cuiobExpr
è maggiore o uguale aobExpr + offset_start
nella riga corrente.
frame_stop
Fine del quadro scorrevole window rispetto alla riga corrente.
Se non specificato, il frame si arresta in corrispondenza della RIGA CORRENTE. La fine del elemento scorrevole window deve essere maggiore rispetto all'inizio del telaio window.
offset_start PRECEDENTE
Se frame_mode è
ROWS
,offset_stop
è il numero letterale integrale positivo che definisce il numero di righe precedenti alla riga corrente arrestata dal frame. Se frame_mode èRANGE
,offset_stop
è un valore letterale positivo dello stesso tipo dioffset_start
. Il fotogramma termina all'ultima riga del partition per cuiobExpr
è minore o uguale aobExpr - offset_stop
nella riga corrente.CURRENT ROW
Specifica che il frame si arresta nella riga corrente.
offsetStop FOLLOWING
Se frame_mode è
ROWS
,offset_stop
è il numero letterale integrale positivo che definisce il numero di righe passate alla riga corrente che termina il frame. Se frame_mode èRANGE
,offset_stop
è un valore letterale positivo dello stesso tipo dioffset_start
. Il frame termina all'ultima riga del partition per cuiobExpr
è minore o uguale aobExpr + offset_stop
nella riga corrente.UNBOUNDED FOLLOWING
Specifica che il frame window si arresta alla fine del partition.