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.
| 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. |