STDDEV_SAMP 和 STDDEV_POP 函数 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

STDDEV_SAMP 和 STDDEV_POP 函数

STDDEV_SAMP 和 STDDEV_POP 函数返回一组数值(整数、小数或浮点)的样本标准差和总体标准差。STDDEV_SAMP 函数的结果等于同一组值的样本方差的平方根。

STDDEV_SAMP 和 STDDEV 是同一函数的同义词。

语法

STDDEV_SAMP | STDDEV ( [ DISTINCT | ALL ] expression) STDDEV_POP ( [ DISTINCT | ALL ] expression)

表达式必须具有整数、小数或浮点数据类型。无论表达式的数据类型如何,此函数的返回类型都是双精度数。

注意

使用浮点算法计算标准偏差,其计算结果可能会稍微不准确。

使用说明

当计算包含一个值的表达式的样本标准差(STDDEV 或 STDDEV_SAMP)时,函数的结果为 NULL 而不是 0。

示例

以下查询返回 VENUE 表的 VENUESEATS 列中各值的平均数,后跟同一组值的样本标准差和总体标准差。VENUESEATS 是一个 INTEGER 列。结果的小数位数已减少至 2 位。

select avg(venueseats), cast(stddev_samp(venueseats) as dec(14,2)) stddevsamp, cast(stddev_pop(venueseats) as dec(14,2)) stddevpop from venue; avg | stddevsamp | stddevpop -------+------------+----------- 17503 | 27847.76 | 27773.20 (1 row)

以下查询返回 SALES 表中 COMMISSION 列的样本标准差。COMMISSION 是一个 DECIMAL 列。结果的小数位数已减少至 10 位。

select cast(stddev(commission) as dec(18,10)) from sales; stddev ---------------- 130.3912659086 (1 row)

以下查询将 COMMISSION 列的样本标准差转换为整数。

select cast(stddev(commission) as integer) from sales; stddev -------- 130 (1 row)

以下查询返回 COMMISSION 列的样本标准差和样本方差的平方根。这些计算的结果相同。

select cast(stddev_samp(commission) as dec(18,10)) stddevsamp, cast(sqrt(var_samp(commission)) as dec(18,10)) sqrtvarsamp from sales; stddevsamp | sqrtvarsamp ----------------+---------------- 130.3912659086 | 130.3912659086 (1 row)