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,P是Population。 |
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,操作就不再是难事,从一般浏览查询建表,导入导出,甚至命令跟踪都可以轻易完成。