MySql中的标准差函数 STD, STDDEV_SAMP

本文详细解释了标准差的概念,包括总体标准差与样本标准差,并提供了MySQL中计算这两种标准差的具体函数。

百度百科关于标准差的解释:

http://baike.baidu.com/link?url=ZD390DwecXfZi0ZM1iq9fXGdxk76ryWH6aErjcS-RGRi5KBCW0fSrw8Y277z20u5

Population standard deviation:

如是总体(即估算总体方差),根号内除以n   MySql对应的函数是STD(对应excel函数:STDEVP);

MySQL population standard deviation formula

Sample standard deviation:

如是抽样(即估算样本方差),根号内除以(n-1)MYSql 对应的函数是 STDDEV_SAMP (对应excel函数:STDEV);

MySQL sample standard deviation formula

参考:http://www.mysqltutorial.org/mysql-standard-deviation/



### SQL 中 STDDEVSTDDEV_SAMP 函数的区别 在 SQL 中,`STDDEV` 和 `STDDEV_SAMP` 是用于计算标准差的聚合函数。然而两者之间存在一些重要差异。 #### 定义和用途 - **STDDEV**: 这是一个兼容 Oracle 的函数,在某些数据库实现中作为总体标准差 (Population Standard Deviation) 来处理。它假设数据集代表整个群体而非样本[^1]。 - **STDDEV_SAMP**: 此函数专门用来估算基于有限数量观测值的标准偏差,即样本标准差(Sample Standard Deviation),适用于当所分析的数据只是更大整体的一部分时的情况[^2]。 #### 计算方式 对于给定的一组数值 X={x_1, x_2,... ,x_n}: - 总体标准差(由 `STDDEV` 表示)通过下面公式得出: \[ σ = \sqrt{\frac{Σ(x_i - μ)^2}{N}} \] 其中 \(μ\) 是平均数而 N 则表示总数目。 - 而样本标准差(`STDDEV_SAMP`) 使用的是修正后的分母 n-1 : \[ s = \sqrt{\frac{Σ(x_i-\bar{x})^2 }{(n-1)}} \] 这里 \(\bar{x}\) 表示样本均值,并且 n 是观察次数。 #### 实际应用案例 考虑如下表格结构及其内容来展示两者的不同之处: | id | value | |----|-------| | 1 | 5 | | 2 | 7 | | 3 | 8 | 执行查询语句可以比较这两个函数的结果: ```sql SELECT STDDEV(value), STDDEV_SAMP(value) FROM table_name; ``` 由于 `STDDEV` 将所有记录视为完整的集合,因此其返回值会小于等于 `STDDEV_SAMP` ,后者因为采用 Bessel's correction (贝塞尔校正),所以通常会产生稍微大一点的估计误差范围以反映不确定性增加的事实。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值