方差和标准差只能用于数值型的列,NULL
值会被忽略。
一,方差和标准差
总体方差的计算公式:
在实际测试中,总体的均数难以得到,需要使用样本统计量代替总体参数,需要对数据进行校正,样本方差计算公式:
方差的语法:
VAR ( [ ALL | DISTINCT ] expression )
VARP ( [ ALL | DISTINCT ] expression )
标准差的语法:
STDEV ( [ ALL | DISTINCT ] expression )
STDEVP ( [ ALL | DISTINCT ] expression )
带P
和不带P
的函数之间的区别:VAR
和STDEV
是指总体的方差和标准差,VARP
和STDEVP
是指样本的方差和标准差。
MSSQL函数-STDEV
标准偏差和STDEVP
标准差
StDev
函数是算出查询结果中指定字段所有值的标准偏差,它是用来衡量数据偏离算术平均值的程序,标准偏差越小,这些值偏离平均值就越少,反之偏离越大。此函数不计算文本值和逻辑值(如TRUE
和FALSE
)。它反映了数据相对于平均值的离散程度。例如求N
个值得标准偏差每个数据与平均值差的平方和除以(N-1
)后开根号。
StDevP
函数是算出查询结果中指定字段所有值的标准差,用来衡量反映数据集的离散程度(又称离均差),标准差越小,说明这组数据的波动越小。反之标准差越大则说明这组数据波动越大。具体算法是求N
个数的标准差,每个数据与平均值差的平方和除以N
后开根,离标准偏差有点像,算出的数据跟标准偏差差不多。
StDev
函数算出的标准偏差是用来衡量数据偏离算术平均值的程序,StDevP
算出的标准差是用来衡量数据集的离散程度的,有时会理解成一样,但是还是有细微的区别的,在数据上也是有一些不一样的。
STDEVP
函数和STDEV
函数一样在不与OVER
和ORDER BY
子句一起配合使用时其返回值为确定性函数。如果与 OVER
和ORDER BY
子句一同使用时,它具有不确定性。这是所有聚合函数的特性,在这里一定要注意。
sqlserver
求标准偏差,oracle
求标准偏差
oracle 求标准偏差:
select STDdEV(column1) from (
select 50 column1 from dual
union
select 90 from dual
union
select 70 from dual) tt
sqlserver 里求标准偏差:
select STDEV(column1) from (
select 50 column1
union
select 90
union
select 70 ) tt