VAR_SAMP 和 VAR_POP 函数 - Amazon Redshift

VAR_SAMP 和 VAR_POP 函数

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

VAR_SAMP 和 VARIANCE 是同一函数的同义词。

语法

VAR_SAMP | VARIANCE ( [ DISTINCT | ALL ] expression) VAR_POP ( [ DISTINCT | ALL ] expression)

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

注意

这些函数的结果可能跨数据仓库集群而异,具体取决于每个案例中集群的配置。

使用说明

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

示例

以下查询返回 LISTING 表中 NUMTICKETS 列的已取整样本方差和总体方差。

select avg(numtickets), round(var_samp(numtickets)) varsamp, round(var_pop(numtickets)) varpop from listing; avg | varsamp | varpop -----+---------+-------- 10 | 54 | 54 (1 row)

以下查询运行相同的计算但将结果转换为小数值。

select avg(numtickets), cast(var_samp(numtickets) as dec(10,4)) varsamp, cast(var_pop(numtickets) as dec(10,4)) varpop from listing; avg | varsamp | varpop -----+---------+--------- 10 | 53.6291 | 53.6288 (1 row)