NUMERIC_STDDEV_POP

说明

返回一组numeric值的总体标准差。

语法

numeric_stddev_pop ::=

参数

expression

一组有三个numeric值的数组类型,数组中第一个数值为样本数量,第二个数值为样本值的和,第三个数值为样本值的平方和。

返回值

求得的一组numeric值的总体标准差。

注解

在使用该函数计算采样标准差时:样本数量为0返回null,只有一个样本返回0,总体标准差为负返回0。

示例

示例1: 求一组numeric值的总体标准差

-- 清理环境
DROP TABLE tab1 CASCADE;

-- 创建表并插入数据
CREATE TABLE tab1(a int[]);

-- 样本数量为0,返回NULL
INSERT INTO tab1 a VALUES('{0,3,8}');

SELECT NUMERIC_STDDEV_POP(a) FROM tab1;
NUMERIC_STDDEV_POP(numeric)      |
---------------------------------
null                             |
总数目:1

-- 样本数量为1,返回0
UPDATE tab1 SET a=('{1,2,6}');

SELECT NUMERIC_STDDEV_POP(a) FROM tab1;
NUMERIC_STDDEV_POP(numeric)      |
---------------------------------
0                                |
总数目:1

-- 采样标准差为负,返回0
UPDATE tab1 SET a=('{2,4,3}');

SELECT NUMERIC_STDDEV_POP(a) FROM tab1;
NUMERIC_STDDEV_POP(numeric)      |
---------------------------------
0                                |
总数目:1

--  求总体标准差
UPDATE tab1 SET a=('{2,4,19}');

SELECT NUMERIC_STDDEV_POP(a) FROM tab1;
NUMERIC_STDDEV_POP(numeric)      |
---------------------------------
2.34520787991171                 |
总数目:1

--  删除表
DROP TABLE tab1;