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)