Uma função de janela SQLite executa um cálculo em um conjunto de linhas relacionadas à linha atual. Ao contrário de uma função agregada , uma função de janela não faz com que as linhas sejam agrupadas em uma única linha de resultado. uma função de janela retém as identidades das linhas. Nos bastidores, as funções de janela podem acessar mais do que apenas a linha atual do resultado da consulta.
A imagem a seguir ilustra as diferenças entre funções agregadas e funções de janela:
As funções da janela são divididas em três categorias: funções da janela de valor, funções da janela de classificação e funções da janela agregada, conforme mostrado na imagem a seguir:
As funções de janela também são conhecidas como funções analíticas. A tabela a seguir mostra todas as funções de janela suportadas pelo SQLite:
Nome | Descrição |
---|---|
CUME_DIST | Calcule a distribuição cumulativa de um valor em um conjunto ordenado de valores. |
DENSE_RANK | Calcule a classificação de uma linha em um conjunto ordenado de linhas sem lacunas nos valores de classificação. |
FIRST_VALUE | Obtenha o valor da primeira linha em um quadro de janela especificado. |
LAG | Fornece acesso a uma linha em um determinado deslocamento físico anterior à linha atual. |
LAST_VALUE | Obtenha o valor da última linha em um quadro de janela especificado. |
LIDERAR | Fornece acesso a uma linha em um determinado deslocamento físico que segue a linha atual. |
NTH_VALUE | Retorna o valor de uma expressão avaliada em relação à linha N do quadro da janela no conjunto de resultados. |
NTIL | Divida um conjunto de resultados em vários grupos da maneira mais uniforme possível e atribua um número de grupo a cada linha. |
PERCENT_RANK | Calcule a classificação percentual de cada linha em um conjunto ordenado de linhas. |
CLASSIFICAÇÃO | Atribua uma classificação a cada linha na partição do conjunto de resultados. |
ROW_NUMBER | Atribua um número inteiro sequencial começando de um para cada linha na partição atual. |