Partilhar via


Cláusula da moldura da janela

Aplica-se a: Marque Sim Databricks SQL Marque Sim Databricks Runtime

Especifica um subconjunto deslizante de linhas dentro da partição na qual a função de janela agregada ou analítica opera.

Sintaxe

{ 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 }

Parâmetros

  • frame_mode

    • LINHAS

      Se especificado, a moldura da janela deslizante é expressa em termos de linhas anteriores ou posteriores à linha atual.

    • GAMA

      Se especificado, a função window deve especificar uma cláusula ORDER BY com uma única expressão obExpr.

      Os limites da janela deslizante são então expressos como um deslocamento da obExpr linha atual.

  • frame_start

    A posição inicial da moldura da janela deslizante em relação à linha atual.

    • PRECEDENTE ILIMITADO

      Especifica que o quadro da janela começa no início da partição.

    • offset_start PRECEDENTES

      Se o modo for ROWS, offset_start é o número literal integral positivo que define quantas linhas antes da linha atual o quadro inicia.

      Se o modo for RANGE, offset_start é um valor literal positivo de um tipo que pode ser subtraído do obExpr. O quadro começa na primeira linha da partição para a qual obExpr é maior ou igual à obExpr - offset_start linha atual.

    • LINHA ATUAL

      Especifica que o quadro começa na linha atual.

    • offset_start SEGUINTE

      Se o modo for ROWS, offset_start é o número literal integral positivo que define quantas linhas passam para a linha atual que o quadro inicia. Se o modo for RANGE, offset_start é um valor literal positivo de um tipo que pode ser adicionado ao obExpr. O quadro começa na primeira linha da partição para a qual obExpr é maior ou igual à obExpr + offset_start linha atual.

  • frame_stop

    A extremidade da moldura da janela deslizante em relação à linha atual.

    Se não for especificado, o quadro para na LINHA ATUAL. A extremidade da janela de correr deve ser maior do que o início da moldura da janela.

    • offset_start PRECEDENTES

      Se frame_mode for ROWS, offset_stop é o número literal integral positivo que define quantas linhas antes da linha atual o quadro para. Se frame_mode for RANGE, offset_stop é um valor literal positivo do mesmo tipo que offset_start. O quadro termina na última linha da partição para a qual obExpr é menor ou igual à obExpr - offset_stop linha atual.

    • LINHA ATUAL

      Especifica que o quadro para na linha atual.

    • offsetPare SEGUINDO

      Se frame_mode for ROWS, offset_stop é o número literal integral positivo que define quantas linhas passam para a linha atual o quadro termina. Se frame_mode for RANGE, offset_stop é um valor literal positivo do mesmo tipo que offset_start. O quadro termina na última linha da partição para a qual obExpr é menor ou igual à obExpr + offset_stop linha atual.

    • SEGUIMENTO ILIMITADO

      Especifica que o quadro da janela para no final da partição.