Partager via


Clause de cadre de fenêtre

S’applique à :case marquée oui Databricks SQL case marquée oui 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 elle est spécifiée, la fonction de fenêtre doit spécifier une clause ORDER BY avec une seule expression obExpr.

      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.

    • PRÉCÉDÉ ILLIMITÉ

      Spécifie que le cadre de fenêtre commence au début de la partition.

    • offset_start PRÉCÉDENT

      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 de obExpr. Le cadre commence à la première ligne de la partition pour laquelle la valeur obExpr est supérieure ou égale à obExpr - offset_start au niveau de la ligne actuelle.

    • RANGÉE ACTUELLE

      Spécifie que le cadre commence à la ligne active.

    • offset_start SUIVANT

      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 est RANGE, 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 valeur obExpr 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 PRÉCÉDENT

      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 est RANGE , offset_stop est une valeur littérale positive du même type que offset_start. Le cadre finit à la dernière ligne de la partition pour laquelle la valeur obExpr est inférieure ou égale à obExpr - offset_stop au niveau de la ligne active.

    • RANGÉE ACTUELLE

      Spécifie que le cadre s’arrête à la ligne active.

    • offsetStop SUIVANT

      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 est RANGE , offset_stop est une valeur littérale positive du même type que offset_start. Le cadre finit à la dernière ligne de la partition pour laquelle la valeur obExpr est inférieure ou égale à obExpr + offset_stop au niveau de la ligne active.

    • SUIVI ILLIMITÉ

      Spécifie que le cadre de fenêtre s’arrête à la fin de la partition.