Inquadratura della finestra
La cornice della finestra o il raggruppamento di aggregazione della finestra definisce il confine all'interno della partizione della finestra per la quale viene eseguito un calcolo.
<window frame clause> ::= <window frame units>
<window frame extent> [ <window frame exclusion> ]
<window frame units> ::= ROWS | RANGE
<window frame extent> ::=
<window frame start> | <window frame between>
<window frame start> ::=
unbounded preceding | <unsigned value specification> preceding | current row
<window frame between> ::=
between <window frame bound 1> and <window frame bound 2>
<window frame bound 1> ::= <window frame bound>
<window frame bound 2> ::= <window frame bound>
<window frame bound> ::=
<window frame start>
| unbounded following
| <unsigned value specification> following
<window frame exclusion> ::=
exclude current row
| exclude group
| exclude ties
| exclude no others
- Utilizzare le righe per le righe fisiche
Solo se i dati di input sono densi, cioè non ci sono spazi vuoti nella sequenza dei valori delle colonne ordinate, ma non troppo densi, come nel caso di più righe per un mese. In questo caso si può avere un pareggio, che può portare a risultati non deterministici. È possibile avere più di una colonna di ordinamento e non si è limitati a una semplice formula per calcolare i valori delle colonne di ordinamento precedenti e successive.
- Utilizzare l'intervallo per le righe logiche
Solo se esiste una formula semplice da usare per aggiungere o sottrarre un valore dalla colonna di ordinamento. La colonna ordine deve essere di tipo numerico, datetime o intervallo, perché questi tipi di dati sono gli unici per i quali sono definite l'addizione e la sottrazione. Anche se non è possibile utilizzare più di una colonna di ordinamento, le query non sono limitate ai dati densi e i legami non portano al non-determinismo.
- Cornici vincolate
- Il confine della cornice è determinato da un numero specifico di righe o da un intervallo di valori.
- Cornici non vincolate
- La cornice si estende fino al confine della partizione nella direzione, cioè può essere non delimitata prima della riga corrente, non delimitata dopo la riga corrente o entrambe.
Se non si specificano l'inquadramento e l'ordinamento delle finestre, l'effetto è come se si fosse specificato tra precedere e seguire senza limiti.
Se non si specifica un'inquadratura della finestra, ma si specifica un ordinamento della finestra, l'inquadratura implicita della finestra è l'intervallo precedente non limitato.