方差函数VARIANCE(x),

具体方法是:

设方差s,a为x1,x2...xn的平均值 ,

则s = [(x1-a)^2+(x2-a)^2+(x3-a)^2+……(xn-a)^2]/n

标准差函数STDDEV(x),

具体算法是:

方差开方。

设标准查为& ,则 &^2 = s

但是我通过以下的实验,发现oracle是这样计算variance()的,

s = [(x1-a)^2+(x2-a)^2+(x3-a)^2+……(xn-a)^2]/n-1 ,注意不是除以n,而是n-1

-----------------------------------------------------------------------------------

实验:

create table TEST_STDDEV_VARIANCE(col1 number(9,2),col2 number(9,2)) ;

insert into TEST_STDDEV_VARIANCE values(1,1) ;

insert into TEST_STDDEV_VARIANCE values(2,3) ;

insert into TEST_STDDEV_VARIANCE values(3,9) ;

insert into TEST_STDDEV_VARIANCE values(4,15) ;

SELECT * FROM TEST_STDDEV_VARIANCE ;

COL1   COL2

-----  -----

1           1

2           3

3           9

4           15

SELECT VARIANCE(COL1) ,VARIANCE(COL2) FROM TEST_STDDEV_VARIANCE ;

VARIANCE(COL1)                            VARIANCE(COL2)

----------------------------------------       --------

1.66666666666666666666666666666666666667           40

SELECT STDDEV(COL1) ,STDDEV(COL2) FROM TEST_STDDEV_VARIANCE ;

STDDEV(COL1)                                        STDDEV(COL2)

--------------------------------------------------       --------

1.29099444873580562839308846659413320361                 6.32455532033675866399778708886543706744

注意VARIANCE(COL1)=(1.5^2 + 0.5^2 + 0.5^2 + 1.5^2) /3 = 5/3 =1.66666666666666666666666666666666666667

而如果按照方差公式计算应该是VARIANCE(COL1)=(1.5^2 + 0.5^2 + 0.5^2 + 1.5^2) /4 =5/4=1.25

为什么oracle的分组函数的计算公式不是[(x1-a)^2+(x2-a)^2+(x3-a)^2+……(xn-a)^2]/n ,而是

s = [(x1-a)^2+(x2-a)^2+(x3-a)^2+……(xn-a)^2]/n-1  呢,真有点疑问,有知道的高手请指点。

oraclestddev函数_ORACLE分组函数stddev和variance,我心存的疑问相关推荐

  1. sql中聚合函数和分组函数_SQL选择计数聚合函数-语法示例解释

    sql中聚合函数和分组函数 The COUNT operator is usually used in combination with a GROUP BY clause. It is one of ...

  2. Oracle单组函数、分组函数

    文章目录 1.函数基础 1.1SQL函数 1.2两种SQL函数 2.单行函数 2.1说明 2.2字符函数 2.2.1大小写控制函数 2.2.2字符控制函数 2.3数字函数 2.4日期 2.4.1日期的 ...

  3. MySQL数据处理函数,分组函数,分组查询【MySQL】

    Java养成计划----学习打卡第六十六天 内容导航 单行处理函数(续) CONCAT 字符串拼接函数 LENGTH 字符串长度 TRIM 去空格 ROUND 四舍五入 RAND 生成随机数 IFNU ...

  4. sql中聚合函数和分组函数_学习SQL:聚合函数

    sql中聚合函数和分组函数 SQL has many cool features and aggregate functions are definitely one of these feature ...

  5. oraclestddev函数_Oracle 经典函数

    单行函数 分类函数功能示例 字符函数LPAD(,[,])在字符串c1的左边添加字符串c2直到c1字符串的长度等于i.SELECT LPAD('Hello!',8,' ') leftpad,RPAD(' ...

  6. oracle打散分组函数,oracle分组函数

    分组函数 一 介绍 1.分组函数作用于一组数据,并对一组数据返回一个值 2.组函数类型: avg 平均值 count max min stddev sum 二 代码 1.工资最高的:SQL> s ...

  7. oracle之4多行函数之分组函数

    常用的分组函数: Sum()求和: 聚合函数Count(*)求个数: Avg()求平均值: 注意:求平均数的方法不同得到的值可能不同. 原因:因为count(*)和count(comm)不相等,cou ...

  8. mysql中有没有单行函数_MySQL之函数(单行函数、分组函数)

    ##进阶函数 /* 调用语法:select函数名(实参列表): 分组函数和单行函数的区别: 单行函数:将一个数据进行处理,返回一个值 分组函数:将虚拟表看做一个组,处理一组数据,返回一个值 常见的分组 ...

  9. oracle之单行函数之分组函数

    --分组函数 select avg(salary),max(salary),min(salary),sum(salary) from employees 运行结果 --判断大小 select max( ...

最新文章

  1. 配置三层交换的综合事例
  2. Windows azure国际版下通过 windows auzre powershell为VM分配绑定virtual ip address
  3. python multiprocessing lock_python多进程Lock锁
  4. macbookpro升级后打不开eclipse_维修分享——面容坏升级iOS13系统后 导致前后摄像头都打不开...
  5. arcengine遍历属性表_记录一次Hive表清理过程
  6. 计算机文献读后感,论文读后感
  7. Java实现替换多个字符串中的参数
  8. 周末狂欢赛2(冒泡排序,概率充电器,不勤劳的图书管理员)
  9. probuffer java_Protocol Buffer的使用
  10. Qt 两个Ui 界面传值
  11. Python3.7.3安装(Ubuntu16.04)
  12. 一个有助于理解事件冒泡和事件捕获的例子
  13. 数据中心已死:2025 年 80% 将关闭,目前 10%
  14. 【python】谷歌翻译
  15. PCIe Gen4 Equlization失败掉速到Gen3的问题排查
  16. 《编码:隐匿在计算机软硬件背后的语言》读书笔记整理总结
  17. GIS空间分析之Buffer
  18. How to cover an IE windowed control (Select Box, ActiveX Object, etc.) with a DHTML layer.
  19. H5电玩城源码+玩法比较多+UI也特别好看+纯源码系列
  20. 10月18日~23日 产品

热门文章

  1. YouTube排名第一的英文演讲《Dream》
  2. Android控件全解手册 - 图片优化篇
  3. ldap 配置过程详解
  4. excel/csv文件单页最大能存多少行呢?
  5. 查询商品案例(按价格或名称查询)
  6. 科学恋爱(一) 如何培养吸引力和好感
  7. 装逼绝学!利用c++制作纸牌游戏,完爆赌神的扑克绝技!
  8. 【优化/加速】CDN 免费图床推荐 / 使用jsDelivr +Github搭建
  9. 【181203】VC++ 签名鉴定/笔迹识别源代码
  10. 微信小程序------阳历与农历互转