张银的博客


Eat to live, but do not live to eat.

导航

Oracle,MySQL,MSSQL Server和Access数据库的统计函数

Posted on 2009-04-24 19:17  张银  阅读(1295)  评论(0编辑  收藏  举报

Oracle,MySQL,MSSQL Server和Access数据库的统计函数

我们在编程中常用的统计函数有计数,求和,求最大值,求最小值,求平均,方差和标准差.

方差(Variance)

方差是标准偏差的平方。组中的值,与它们平均值之间偏离程度的度量。

标准偏差(Standard Deviation)

一个参数,指出一种方式,一个概率函数以这种方式分布在平均值附近,而平均值为方差的平方根。
用来描述数值集合,计算与算术均值或平均值之间的差异。

SQL语句中的函数是不分大小写的。

1、COUNT
获得记录数
四种数据库都一样,用法如下:
COUNT (*) 返回条件查询结果中所有记录的数量.
COUNT (ALL expression) 对组中的每一行都计算 expression 并返回非空值的数量。
COUNT (DISTINCT expression) 对组中的每一行都计算 expression 并返回唯一非空值的数量。

2、AVG
平均值
四种数据库的用法有点不一样.
Access和MySQL不支持AVG(distinct expression)操作,而Oracle和MS SQL Server是支持的.

3、MIN, MAX
分别返回表达式中的最小和最大值
四种数据库区别跟上面AVG函数一样.

4、Sum
求和
用法有区别,也是Access和MySQL不支持带distinct的表达式用法.

5、标准偏差函数:
四种数据库的差别更大了,在很多地方也是不相同的:

产品

总体偏差

抽样偏差

用法

说明

Access

StDevP()

StDev()

括号中用字段名或者字段运算表达式

不支持表达式前加distinct,PPopulation

MS SQL Server

同上

同上

同上

支持表达式前加distinct

Oracle

StdDev_Pop()

StdDev()

StdDev_Samp()

同上

支持表达式前加distinct

MySQL

5.0.3版以前

Std()

StdDev()

5.0.3版以后,加入STDDEV_POP()

5.0.3版以前

5.0.3版以后加入STDDEV_SAMP()

同上

不支持表达式前加distinct

6、方差函数:

产品

总体偏差

抽样偏差

用法

说明

Access

VarP()

Var()

括号中用字段名或者字段运算表达式

不支持表达式前加distinct

MS SQL Server

同上

同上

同上

支持表达式前加distinct

Oracle

Var_pop()

var_samp()

variance

同上

支持表达式前加distinct

MySQL

4.1版以前

没有

5.0.3版以后,加入VAR_POP()

5.0.3版以前

5.0.3版以后加入VAR_SAMP()

同上

不支持表达式前加distinct


  为了更高效地操作数据库,我们往往都要借助于一些操作工具。在Access中,当然就是其本身了,而在SQL Server中,可以用企业管理器和查询分析器来完成你想要完成的工作,对于Oracle,一般给人的感觉这个东西实在太高深了,可是如果你一旦有了PL/SQL Developer,操作就不再是难事,从一般浏览查询建表,导入导出,甚至命令跟踪都可以轻易完成。