- Categorias:
Funções de agregação (Geral) , Sintaxe e uso da função de janela (Geral)
VAR_POP¶
Retorna a variância da população de registros não NULL em um grupo. Se todos os registros dentro de um grupo forem NULL, um NULL é retornado.
- Aliases:
Sintaxe¶
Função de agregação
VAR_POP( [ DISTINCT ] <expr1> )
Função de janela
VAR_POP( [ DISTINCT ] <expr1> ) OVER (
[ PARTITION BY <expr2> ]
[ ORDER BY <expr3> [ ASC | DESC ] [ <window_frame> ] ]
)
Para uma sintaxe window_frame
detalhada, consulte Sintaxe e uso da função de janela.
Argumentos¶
expr1
O
expr1
deve ser avaliado como um dos tipos de dados numéricos.expr2
Esta é a expressão opcional para divisão.
expr3
Esta é a expressão opcional a ordenar dentro de cada partição.
Retornos¶
O tipo de dados do valor retornado é NUMBER(<precisão>, <escala>)
. A escala depende dos valores que estão sendo processados.
Notas de uso¶
Ao passar uma expressão VARCHAR, esta função converte implicitamente a entrada em valores de ponto flutuante. Se a conversão não puder ser executada, um erro é devolvido.
Quando esta função é chamada como uma função de janela com uma cláusula OVER com uma cláusula ORDER BY:
O quadro de janela é exigido. Se nenhum quadro de janela for especificado explicitamente, o seguinte quadro de janela implícito será usado:
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
Para obter mais informações sobre quadros de janela, incluindo sintaxe, notas de uso e exemplos, consulte Sintaxe e uso da função de janela.
O uso da palavra-chave DISTINCT dentro da função de janela é proibido e resulta em um erro de tempo de compilação.
Exemplos¶
Este exemplo mostra como usar a função VAR_POP:
Criar e preencher uma tabela:
create table aggr(k int, v decimal(10,2), v2 decimal(10, 2)); insert into aggr values (1, 10, null), (2, 10, 11), (2, 20, 22), (2, 25, null), (2, 30, 35);
Consultar a tabela:
SELECT k, var_pop(v), var_pop(v2) FROM aggr GROUP BY k ORDER BY k; +---+---------------+---------------+ | K | VAR_POP(V) | VAR_POP(V2) | |---+---------------+---------------| | 1 | 0.0000000000 | NULL | | 2 | 54.6875000000 | 96.2222222222 | +---+---------------+---------------+