Funções analíticas da janela

As funções analíticas incluem agregação de janelas, agregação de relatórios, defasagem e liderança, primeiro e último, classificação e famílias de contagem de linhas. A tabela a seguir descreve as palavras-chave de função analítica.
Tabela 1. Palavras-chave de função analítica
Sintaxe Descrição
TODOS Aplica a função analítica para todos os valores. Esse valor é o padrão e você não precisa especificar.
ASC | DESC Especifica a sequência de ordenação, seja ascendente ou descendente.
ENTRE . E Especifica os pontos inicial e final para a janela. A primeira expressão (antes e) especifica o início; a segunda expressão (após e) especifica o final.
LINHA ATUAL Como um ponto de início, especifica que a janela inicia no valor ou linha atuais. Como um ponto final, especifica que a janela se encerra no valor ou linha atuais.
DISTINTO Especifica que as agregações de função resultam para cada valor exclusivo. DISTINCT não é suportado para as funções FIRST_VALUE, LAST_VALUE, LEAD ou LAG. Ele também não é suportado para as funções STDDEV, STDDEV_POP, STDDEV_SAMP, VARIANCE, VAR_POP ou VAR_SAMP em uma agregação agrupada ou de janela.
EXCLUDE CURRENT ROW Especifica a exclusão da linha atual.
EXCLUDE GROUP Especifica a exclusão da linha atual e de todas as linhas que estão vinculadas a ela. Os vínculos ocorrem quando há correspondência na coluna ou colunas de ordem.
EXCLUDE NO OTHERS Especifica a não exclusão de quaisquer linhas. Esse valor é o padrão se você não especificar nenhuma exclusão.
EXCLUDE TIES Especifica a exclusão de todas as linhas que estão vinculadas à linha atual (linhas peer), mas mantendo a linha atual.
NULLS {FIRST | LAST} Especifica se nulos são exibidos antes ou depois de valores não nulos na ordem de classificação. Por padrão, valores nulos são classificados como se fossem menores que quaisquer valores não nulos; ou seja, NULLS FIRST é o padrão para ordem DESC e NULLS LAST é o contrário.
SOLICITADO POR Especifica como os dados são ordenados dentro da partição. É possível ordenar os valores em várias chaves, cada uma definida por uma sequência de ordenação.
LIM. EXCEDIDO Indica que a função opera em um conjunto de resultados da consulta que é calculado após as cláusulas FROM, WHERE e HAVING. Use para definir a janela de linhas para incluir na função.
PARTITION BY Particiona o resultado da consulta em grupos que são baseados em uma ou mais colunas. Se você omitir essa cláusula, a consulta manipula o resultado da consulta como uma única partição.
ROWS | RANGE Define a janela como linhas físicas ou como um intervalo lógico. Para usar o intervalo entre, você deve especificar a cláusula order by.
UNBOUNDED FOLLOWING Especifica que a janela termina na última linha da partição. Se não houver nenhuma partição por cláusulas, o final é a última linha do conjunto de dados.
UNBOUNDED PRECEDING Especifica que a janela começa na primeira linha da partição. Se não houver nenhuma partição por cláusula, o início será a primeira linha do conjunto de dados.