
例如:
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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)