Compartilhar via


Cláusula de quadro de janela

Aplica-se a: marca de seleção positiva SQL do Databricks marca de seleção positiva Runtime do Databricks

Especifica um subconjunto deslizante de linhas dentro da partição na qual opera a função da janela de agregação ou análise.

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

    • ROWS

      Se especificado, o quadro da janela deslizante é expresso em termos de linhas que precedem ou seguem a linha atual.

    • RANGE

      Se especificado, a função da janela deve especificar uma cláusula ORDENAR POR com uma única expressão obExpr.

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

  • frame_start

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

    • UNBOUNDED PRECEDING

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

    • offset_start PRECEDING

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

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

    • CURRENT ROW

      Especifica que o quadro começa na linha atual.

    • offset_start FOLLOWING

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

  • frame_stop

    O final do quadro da janela deslizante em relação à linha atual.

    Se não for especificado, o quadro será interrompido na CURRENT ROW. O final da janela deslizante deve ser maior que o início do quadro da janela.

    • offset_start PRECEDING

      Se frame_mode for ROWS, offset_stop será o número literal integral positivo que define quantas linhas antes da linha atual o quadro será interrompido. Se frame_mode for RANGE, offset_stop será 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 a na linha atual.

    • CURRENT ROW

      Especifica que o quadro é interrompido na linha atual.

    • offsetStop FOLLOWING

      Se frame_mode for ROWS, offset_stop será o número literal integral positivo que define quantas linhas depois da linha atual o quadro termina. Se frame_mode for RANGE, offset_stop será 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 a na linha atual.

    • UNBOUNDED FOLLOWING

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