oraclestddev函数_ORACLE分组函数stddev和variance,我心存的疑问
方差函数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,我心存的疑问相关推荐
- sql中聚合函数和分组函数_SQL选择计数聚合函数-语法示例解释
sql中聚合函数和分组函数 The COUNT operator is usually used in combination with a GROUP BY clause. It is one of ...
- 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日期的 ...
- MySQL数据处理函数,分组函数,分组查询【MySQL】
Java养成计划----学习打卡第六十六天 内容导航 单行处理函数(续) CONCAT 字符串拼接函数 LENGTH 字符串长度 TRIM 去空格 ROUND 四舍五入 RAND 生成随机数 IFNU ...
- sql中聚合函数和分组函数_学习SQL:聚合函数
sql中聚合函数和分组函数 SQL has many cool features and aggregate functions are definitely one of these feature ...
- oraclestddev函数_Oracle 经典函数
单行函数 分类函数功能示例 字符函数LPAD(,[,])在字符串c1的左边添加字符串c2直到c1字符串的长度等于i.SELECT LPAD('Hello!',8,' ') leftpad,RPAD(' ...
- oracle打散分组函数,oracle分组函数
分组函数 一 介绍 1.分组函数作用于一组数据,并对一组数据返回一个值 2.组函数类型: avg 平均值 count max min stddev sum 二 代码 1.工资最高的:SQL> s ...
- oracle之4多行函数之分组函数
常用的分组函数: Sum()求和: 聚合函数Count(*)求个数: Avg()求平均值: 注意:求平均数的方法不同得到的值可能不同. 原因:因为count(*)和count(comm)不相等,cou ...
- mysql中有没有单行函数_MySQL之函数(单行函数、分组函数)
##进阶函数 /* 调用语法:select函数名(实参列表): 分组函数和单行函数的区别: 单行函数:将一个数据进行处理,返回一个值 分组函数:将虚拟表看做一个组,处理一组数据,返回一个值 常见的分组 ...
- oracle之单行函数之分组函数
--分组函数 select avg(salary),max(salary),min(salary),sum(salary) from employees 运行结果 --判断大小 select max( ...
最新文章
- 配置三层交换的综合事例
- Windows azure国际版下通过 windows auzre powershell为VM分配绑定virtual ip address
- python multiprocessing lock_python多进程Lock锁
- macbookpro升级后打不开eclipse_维修分享——面容坏升级iOS13系统后 导致前后摄像头都打不开...
- arcengine遍历属性表_记录一次Hive表清理过程
- 计算机文献读后感,论文读后感
- Java实现替换多个字符串中的参数
- 周末狂欢赛2(冒泡排序,概率充电器,不勤劳的图书管理员)
- probuffer java_Protocol Buffer的使用
- Qt 两个Ui 界面传值
- Python3.7.3安装(Ubuntu16.04)
- 一个有助于理解事件冒泡和事件捕获的例子
- 数据中心已死:2025 年 80% 将关闭,目前 10%
- 【python】谷歌翻译
- PCIe Gen4 Equlization失败掉速到Gen3的问题排查
- 《编码:隐匿在计算机软硬件背后的语言》读书笔记整理总结
- GIS空间分析之Buffer
- How to cover an IE windowed control (Select Box, ActiveX Object, etc.) with a DHTML layer.
- H5电玩城源码+玩法比较多+UI也特别好看+纯源码系列
- 10月18日~23日 产品