O quadro determina quais linhas estão incluídas no cálculo para a linha de entrada atual, com base na sua posição relativa à linha atual.
Se você usar uma função agregada em vez de LEAD ou LAG, deverá especificar um quadro de janela. LEAD e LAG fazem referência a linhas individuais e ignoram a especificação de quadro.
Os deslocamentos inicial e final descrevem o número de linhas que aparecem antes e depois da linha de entrada atual. Um deslocamento de "0" representa a linha de entrada atual. Por exemplo, um deslocamento inicial de -3 e um deslocamento final de 0 descrevem um quadro que inclui a linha de entrada atual e as três linhas antes da linha atual.
A seguinte imagem mostra um quadro com um deslocamento inicial de -1 e um deslocamento final de 1:
Para cada linha de entrada, a função realiza uma operação de agregação nas linhas dentro do quadro. Se você configurar uma expressão agregada como SUM com o quadro anterior, a expressão calculará a soma dos valores dentro do quadro e retornará um valor de 6000 para a linha de entrada.
Você também pode especificar um quadro que não inclua a linha de entrada atual. Por exemplo, um deslocamento inicial de 10 e um deslocamento final de 15 descrevem um quadro que inclui seis linhas no total, da décimo à décima quinta linha após a linha atual.
O deslocamento inicial deve ser menor que ou igual ao deslocamento final.
Deslocamentos de
Todas as Linhas Anteriores
e
Todas as Linhas Seguintes
representam a primeira linha da partição e a última linha da partição. Por exemplo, se o deslocamento inicial for Todas as Linhas Anteriores e o deslocamento final for -1, o quadro incluirá uma linha antes da linha atual e todas as linhas antes dela.
A seguinte imagem ilustra um quadro com um deslocamento inicial de 0 e um deslocamento final de Todas as Linhas Seguintes: