- Categorias:
Funções de agregação (Geral) , Funções de janela (Geral, Quadro de janela)
STDDEV¶
Retorna o desvio padrão da amostra (raiz quadrada da variância da amostra) de valores não NULL. Se todos os registros dentro de um grupo forem NULL, retorna NULL.
- Aliases:
Sintaxe¶
Função de agregação
STDDEV( [ DISTINCT ] <expression_1> )
Função de janela
STDDEV( [ DISTINCT ] <expression_1> ) OVER (
[ PARTITION BY <expression_2> ]
[ ORDER BY <expression_3> [ ASC | DESC ] [ <window_frame> ] ]
)
Para obter mais detalhes sobre a sintaxe window_frame
, consulte Sintaxe e utilização do quadro de janela.
Argumentos¶
expression_1
Uma expressão que é avaliada como um valor numérico. Esta é a expressão na qual é calculado o desvio padrão.
expression_2
Esta é a expressão opcional para divisão.
expression_3
Esta é a expressão opcional a ordenar dentro de cada partição.
Retornos¶
O tipo de dados do valor retornado é DOUBLE.
Notas de uso¶
Para entradas de registro único, STDDEV_SAMP e STDDEV retornam NULL. Isto é diferente do comportamento do Oracle, onde STDDEV_SAMP retorna NULL para um único registro e STDDEV retorna 0.
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 (ou seja, com uma cláusula OVER):
Se a cláusula OVER contiver uma subcláusula ORDER BY, então:
O quadro de janela é exigido. Se nenhum quadro de janela for especificado explicitamente, então o ORDER BY implicará um quadro de janela cumulativo:
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
Para obter mais informações sobre quadros de janelas, incluindo sintaxe e exemplos, consulte Sintaxe e utilização do quadro de janela.
Para obter mais informações sobre quadros de janelas implícitos, consulte também Notas de uso dos quadros 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¶
Isto mostra o desvio padrão de uma pequena amostra de números inteiros:
CREATE TABLE devious (i INTEGER); INSERT INTO devious (i) VALUES (6), (10), (14) ; SELECT STDDEV(i) FROM devious;Saída:
+----------+ | STDDEV() | |----------| | 4 | +----------+