MySql-STDEV、STDEVP、VAR、VARP

理论知识

  • 偏差:一组数据偏离其平均数的值
  • 方差:各个偏差的平方的平均数
  • 标准偏差:方差的平方根

SQL SERVER中关于方差的函数:

  1. STDEV
    返回给定表达式中所有值的统计标准偏差
  2. STDEVP
    返回给定表达式中所有值的填充统计标准偏差
  3. VAR
    返回给定表达式中所有值的统计方差。
  4. VARP
    返回给定表达式中所有值的填充的统计方差。

四个函数的区别与联系:

  1. STDEV求的是样本的标准差,STDEVP求的是总体的标准差,二者的分母不同,前者是n-1,后者是N.
  2. VAR是样本的方差,VARP是总体的方差
  3. STDEV=SQRT(VAR),STDEVP=SQRT(VARP)

手工实现方差的计算:

DECLARE @AVG DECIMAL(6,2)
SELECT @AVG=AVG(ActualSoldQty*1.0)
FROM tblHistoricAvg

SELECT SUM(SQUARE (ActualSoldQty-@AVG))/COUNT() AS ‘VARP’
SQRT(SUM(SQUARE(ActualSoldQty-@AVG))/COUNT(
)) AS ‘STDEVP’,
SUM(SQUARE(ActualSoldQty-@AVG))/(COUNT()-1) AS ‘VAR’,
SQRT(SUM(SQUARE(ActualSoldQty-@AVG))/(COUNT(
)-1)) AS ‘STDEV’
FROM tblHistoricAvg

其中tblHistoryAvg为测试用的表

上述语句跟用SQL SERVER自带的方差函数产生的结果是一样的,当然上面的语句要排除只有一笔数据的情况,因为此时count(*)-1=0,而分母是不能为零的,当然如果只有一笔数据,那方差也失去了其存在的意义了:)
公式

表示去看了下w3cSchool中的,sql方面的东西,然后,不太理解这些函数,然后就~~先转存一波
原文出处
黑瞎子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值