Funciones de ventana STDDEV_SAMP y STDDEV_POP - Amazon Redshift

Funciones de ventana STDDEV_SAMP y STDDEV_POP

Las funciones de ventana STDDEV_SAMP y STDDEV_POP devuelven la muestra y la desviación estándar de población de un conjunto de valores numéricos (entero, decimal o de punto flotante). Véase también Funciones STDDEV_SAMP y STDDEV_POP.

STDDEV_SAMP y STDDEV son sinónimos para la misma función.

Sintaxis

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

Argumentos

expression

La columna o expresión de destino sobre la que opera la función.

ALL

Con el argumento ALL, la función retiene todos los valores duplicados de la expresión. El valor predeterminado es ALL. DISTINCT no se admite.

OVER

Especifica las cláusulas de ventana para las funciones de agregación. La cláusula OVER distingue funciones de agregación de ventana de las funciones de agregación de conjuntos normales.

PARTITION BY expr_list

Define la ventana para la función en términos de una o más expresiones.

ORDER BY order_list

Ordena las filas dentro de cada partición. Si no se especifica PARTITION BY, ORDER BY utiliza toda la tabla.

frame_clause

Si se utiliza una cláusula ORDER BY para una función de agregación, se necesita una cláusula de marco explícita. La cláusula de marco limita el conjunto de filas en una ventana de función e incluye o excluye conjuntos de filas dentro del resultado ordenado. La cláusula de marco consta de la palabra clave ROWS y de los especificadores correspondientes. Consulte Resumen de la sintaxis de la función de ventana.

Tipos de datos

Los tipos de argumento compatibles con las funciones STDDEV son SMALLINT, INTEGER, BIGINT, NUMERIC, DECIMAL, REAL y DOUBLE PRECISION.

Independientemente del tipo de datos de la expresión, el tipo de retorno de una función STDDEV es un número de doble precisión.

Ejemplos

En el siguiente ejemplo, se muestra cómo usar las funciones STDDEV_POP y VAR_POP como funciones de ventana. La consulta computa la varianza de población y la desviación estándar de población para valores PRICEPAID en la tabla 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 ...

La desviación estándar de muestra y las funciones de varianza se pueden usar de la misma manera.