Clausola del telaio della finestra
Si applica a: Databricks SQL
Databricks Runtime
Specifica un subset scorrevole di righe all'interno della partizione in cui opera la funzione finestra di aggregazione o analitica.
{ 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 della finestra scorrevole viene espresso in termini di righe precedenti o successive alla riga corrente.
RANGE
Se è specificato, la funzione finestra deve specificare una clausola ORDER BY con una singola espressione
obExpr
.I limiti della finestra scorrevole vengono quindi espressi come offset dall'oggetto
obExpr
per la riga corrente.
frame_start
Posizione iniziale della cornice finestra scorrevole rispetto alla riga corrente.
SENZA LIMITI PRECEDENTI
Specifica che il frame della finestra inizia all'inizio della partizione.
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 frame inizia alla prima riga della partizione per la qualeobExpr
è maggiore o uguale allaobExpr - offset_start
riga corrente.RIGA ATTUALE
Specifica che il frame inizia dalla riga corrente.
offset_start SEGUENTE
Se la modalità è
ROWS
,offset_start
è il numero letterale integrale positivo che definisce quante righe oltre la riga corrente inizia il frame. Se la modalità èRANGE
,offset_start
è un valore letterale positivo di un tipo che può essere aggiunto aobExpr
. Il frame inizia alla prima riga della partizione per la qualeobExpr
è maggiore o uguale allaobExpr + offset_start
riga corrente.
frame_stop
Fine della cornice della finestra scorrevole rispetto alla riga corrente.
Se non specificato, il frame si arresta in corrispondenza della RIGA CORRENTE. La fine della finestra scorrevole deve essere maggiore dell'inizio della cornice della finestra.
offset_start PRECEDENTE
Se frame_mode è
ROWS
,offset_stop
è il numero intero positivo che definisce quante righe precedenti alla riga corrente il frame si ferma. Se frame_mode èRANGE
,offset_stop
è un valore letterale positivo dello stesso tipo dioffset_start
. Il frame termina all'ultima riga dalla partizione per la qualeobExpr
è minore o uguale aobExpr - offset_stop
nella riga corrente.RIGA ATTUALE
Specifica che il frame si arresta nella riga corrente.
offsetStop SEGUENTE
Se `frame_mode` è
ROWS
,offset_stop
è il numero letterale integrale positivo che definisce quante righe oltre la riga corrente terminano il frame. Se frame_mode èRANGE
,offset_stop
è un valore letterale positivo dello stesso tipo dioffset_start
. Il frame termina all'ultima riga della partizione per la qualeobExpr
è minore o uguale aobExpr + offset_stop
nella riga corrente.SEGUITO ILLIMITATO
Specifica che la cornice della finestra si arresta alla fine della partizione.