sql 求方差

sql 求方差,第1张

方差是有函数的,

例如:

SQL>SELECT

2sale_item,

3VARIANCE(sale_money)

4 FROM

5sale_report

6 GROUP BY

7sale_item

SALE VARIANCE(SALE_MONEY)

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

A 0

B 11.9203372

C 77.5865272

注: Oracle 里面是 VARIANCE 函数, SQL Server 是 VAR 函数, MySQL 是 VAR_SAMP 函数。

但是要求你的数据是 一行一行的

而你的数据, 是一列一列的。

也就是你需要先作 列行转换

我这里假设你的数据库是 SQL Server

SELECT 序号,'6' AS 月份,[6月] AS 数据 FROM 表 UNION ALL

SELECT 序号,'7' AS 月份,[7月] AS 数据 FROM 表 UNION ALL

SELECT 序号,'8' AS 月份,[8月] AS 数据 FROM 表 UNION ALL

SELECT 序号,'9' AS 月份,[9月] AS 数据 FROM 表 UNION ALL

SELECT 序号,'10' AS 月份,[10月] AS 数据 FROM 表 UNION ALL

SELECT 序号,'11' AS 月份,[11月] AS 数据 FROM 表

上面的查询, 应该就会形成一个这样格式的结果:

序号 月份 数据

1 6 134.8

1 7 134.4

1 8 133.4

1 9 134.5

1 10 133.7

1 11 133.7

其他数据略...

这样就可以使用那个函数来处理了

SELECT

序号,

VAR ( 数据 ) AS 方差

FROM

(

SELECT 序号,'6' AS 月份,[6月] AS 数据 FROM 表 UNION ALL

SELECT 序号,'7' AS 月份,[7月] AS 数据 FROM 表 UNION ALL

SELECT 序号,'8' AS 月份,[8月] AS 数据 FROM 表 UNION ALL

SELECT 序号,'9' AS 月份,[9月] AS 数据 FROM 表 UNION ALL

SELECT 序号,'10' AS 月份,[10月] AS 数据 FROM 表 UNION ALL

SELECT 序号,'11' AS 月份,[11月] AS 数据 FROM 表

)subQuery

GROUP BY

序号

~~~~方差的定义

方差越大,这组数据就越离散,数据的波动也就越大;方差越小,这组数据就越聚合,数据的波动也就越小。这一公式可简单记忆为“方差等于差方的平均数”。方差、标准差都是描述数据“离散程度”的“特征数”。

http://www.oh100.com/teach/student/jichu/shuxue/daishu/200110/09020501020166.html

~~~质控计算公式的来源之标准差

http://www.labcn.com/technology/statistics/sd.htm

~~~大学四六级考试,计算基本术语~

http://www.cet.edu.cn/cet_teach2.htm


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9445313.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存