Clause de cadre de fenêtre
S’applique à : Databricks SQL Databricks Runtime
Spécifie un sous-ensemble coulissant de lignes dans la partition, sur lequel opère la fonction de fenêtre d’agrégation ou analytique.
Syntaxe
{ 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 }
Paramètres
frame_mode
ROWS
Si spécifié, le cadre de fenêtre coulissante est exprimé en termes de lignes qui précèdent ou suivent la ligne active.
RANGE
Si spécifié, la fonction de fenêtre doit spécifier une clause ORDER BY avec une expression
obExpr
unique.Les limites de la fenêtre coulissante sont ensuite exprimées en tant que décalage par rapport à
obExpr
pour la ligne active.
frame_start
Position de début du cadre de fenêtre coulissante par rapport à la ligne active.
UNBOUNDED PRECEDING
Spécifie que le cadre de fenêtre commence au début de la partition.
offset_start PRECEDING
Si le mode est
ROWS
,offset_start
est le nombre littéral intégral positif qui définit le nombre de lignes avant la ligne active où le cadre commence.Si le mode est
RANGE
,offset_start
est une valeur littérale positive d’un type qui peut être soustrait deobExpr
. Le cadre commence à la première ligne de la partition pour laquelle la valeurobExpr
est supérieure ou égale àobExpr - offset_start
au niveau de la ligne actuelle.CURRENT ROW
Spécifie que le cadre commence à la ligne active.
offset_start FOLLOWING
Si le mode est
ROWS
,offset_start
est le nombre littéral intégral positif qui définit le nombre de lignes après la ligne active où le cadre commence. Si le mode estRANGE
,offset_start
est une valeur littérale positive d’un type qui peut être additionné àobExpr
. Le cadre commence à la première ligne de la partition pour laquelle la valeurobExpr
est supérieure ou égale àobExpr + offset_start
au niveau de la ligne actuelle.
frame_stop
Position de fin du cadre de fenêtre coulissante par rapport à la ligne active.
Si elle n’est pas spécifiée, le cadre s’arrête à la ligne active (CURRENT ROW). La fin de la fenêtre coulissante doit être supérieure à son début.
offset_start PRECEDING
Si frame_mode est
ROWS
,offset_stop
est le nombre littéral intégral positif qui définit le nombre de lignes avant la ligne active où le cadre s’arrête. Si frame_mode estRANGE
,offset_stop
est une valeur littérale positive du même type queoffset_start
. Le cadre finit à la dernière ligne de la partition pour laquelle la valeurobExpr
est inférieure ou égale àobExpr - offset_stop
au niveau de la ligne active.CURRENT ROW
Spécifie que le cadre s’arrête à la ligne active.
offsetStop FOLLOWING
Si frame_mode est
ROWS
,offset_stop
est le nombre littéral intégral positif qui définit le nombre de lignes après la ligne active où le cadre finit. Si frame_mode estRANGE
,offset_stop
est une valeur littérale positive du même type queoffset_start
. Le cadre finit à la dernière ligne de la partition pour laquelle la valeurobExpr
est inférieure ou égale àobExpr + offset_stop
au niveau de la ligne active.UNBOUNDED FOLLOWING
Spécifie que le cadre de fenêtre s’arrête à la fin de la partition.