FLOAT8_STDDEV_POP

说明

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

语法

float8_stddev_pop ::=

参数

expression

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

返回值

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

注解

在使用该函数计算采样标准差时:样本数量小于等于1返回null,采样标准差为负返回0。

示例

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

-- 清理环境
DROP TABLE tab1 CASCADE;

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

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

SELECT FLOAT8_STDDEV_POP(a) FROM tab1;
FLOAT8_STDDEV_POP(double precision)      |
-----------------------------------------
null                                     |
总数目:1

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

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

-- 采样标准差为负,返回0
DELETE FROM tab1;
INSERT INTO tab1 a VALUES('{2,4.11,3.22}');

SELECT FLOAT8_STDDEV_POP(a) FROM tab1;
FLOAT8_STDDEV_POP(double precision)      |
-----------------------------------------
0                                        |
总数目:1

--  求采样标准差
UPDATE tab1 SET a=('{2,4.34,19.354}');

SELECT FLOAT8_STDDEV_POP(a) FROM tab1;
FLOAT8_STDDEV_POP(double precision)      |
-----------------------------------------
2.22892350698717                         |
总数目:1

--  删除表
DROP TABLE tab1;