zoukankan      html  css  js  c++  java
  • SQL SERVER中的方差函数

    1.偏差:一组数据偏离其平均数的值
    2.方差:各个偏差的平方的平均数
    3.标准偏差:方差的平方根
     
    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,而分母是不能为零的,当然如果只有一笔数据,那方差也失去了其存在的意义了

     

    来源:


  • 相关阅读:
    解决Flask使用pymysql驱动的Warning: (1366, "Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...'
    java中的抽象类
    java中的接口
    java中获取数组中的最大值
    java中的面向对象
    java中的数组
    java中的方法
    java中的流程控制结构
    java中的运算符
    java中的类型转换
  • 原文地址:https://www.cnblogs.com/lcy1984/p/2381475.html
Copyright © 2011-2022 走看看