Funções de janela STDDEV_SAMP e STDDEV_POP - Amazon Redshift

Funções de janela STDDEV_SAMP e STDDEV_POP

As funções da janela STDDEV_SAMP e STDDEV_POP retornam o desvio padrão da amostra e da população de um conjunto de valores numéricos (número inteiro, decimal ou ponto flutuante). Consulte também Funções STDDEV_SAMP e STDDEV_POP.

STDDEV_SAMP e STDDEV são sinônimos para a mesma função.

Sintaxe

STDDEV_SAMP | STDDEV | STDDEV_POP ( [ ALL ] expression ) OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list frame_clause ] )

Argumentos

expressão

A coluna ou expressão de destino na qual a função opera.

ALL

Com o argumento ALL, a função retém todos os valores duplicados da expressão. ALL é o padrão. DISTINCT não é compatível.

OVER

Especifica as cláusulas de janela das funções de agregação. A cláusula OVER distingue funções de agregação de janela das funções de agregação de conjuntos normais.

PARTITION BY expr_list

Define a janela para a função em termos de uma ou mais expressões.

ORDER BY order_list

Classifica as linhas dentro de cada partição. Se nenhuma PARTITION BY for especificada, ORDER BY usa a tabela completa.

frame_clause

Se uma cláusula ORDER BY é usada para uma função agregada, uma cláusula de quadro explícita é necessária. A cláusula de quadro refina o conjunto de linhas na janela de uma função, incluindo ou excluindo conjuntos de linhas no resultado ordenado. A cláusula de quadro consiste na palavra-chave ROWS e nos especificadores associados. Consulte Resumo da sintaxe de funções da janela.

Tipos de dados

Os tipos de argumentos compatíveis com a função STDDEV são SMALLINT, INTEGER, BIGINT, NUMERIC, DECIMAL, REAL e DOUBLE PRECISION.

Independente do tipo de dados da expressão, o tipo de retorno de uma função STDDEV é um número de precisão dupla.

Exemplos

O seguinte exemplo mostra como usar as funções STDDEV_POP e VAR_POP como funções da janela. A consulta computa a variação de população e o desvio padrão de população para os valores PRICEPAID na tabela SALES.

select salesid, dateid, pricepaid, round(stddev_pop(pricepaid) over (order by dateid, salesid rows unbounded preceding)) as stddevpop, round(var_pop(pricepaid) over (order by dateid, salesid rows unbounded preceding)) as varpop from sales order by 2,1; salesid | dateid | pricepaid | stddevpop | varpop --------+--------+-----------+-----------+--------- 33095 | 1827 | 234.00 | 0 | 0 65082 | 1827 | 472.00 | 119 | 14161 88268 | 1827 | 836.00 | 248 | 61283 97197 | 1827 | 708.00 | 230 | 53019 110328 | 1827 | 347.00 | 223 | 49845 110917 | 1827 | 337.00 | 215 | 46159 150314 | 1827 | 688.00 | 211 | 44414 157751 | 1827 | 1730.00 | 447 | 199679 165890 | 1827 | 4192.00 | 1185 | 1403323 ...

A amostra de desvio padrão e funções de variação podem ser usadas da mesma forma.