在我们的开发中,常用到的四种数据库是Oracle,MySQL,MSSQL Server和Access,至于这几种数据库的用法和来龙去脉我就不多说了.我这里只对其几种常用的统计函数做一个汇总比较,同时,对于这几种数据库的操作工具也做一个简单介绍.
我们在编程中常用的统计函数有计数,求和,求最大值,求最小值,求平均,方差和标准差.前面五种的定义就不做介绍了,这里把方差和标准差的定义和关系介绍一下.
方差是标准偏差的平方。组中的值,与它们平均值之间偏离程度的度量。
标准偏差(Standard Deviation)
一个参数,指出一种方式,一个概率函数以这种方式分布在平均值附近,而平均值为方差的平方根。用来描述数值集合,计算与算术均值或平均值之间的差异。
说明SQL语句中的函数是不分大小写的,为了使格式好看,我统一采用以大写字母开头,以后每一个单词的开头都大写的规则.
计数:
Count函数,是获得记录数,四种数据库都一样,用法如下:
Count (*) 返回条件查询结果中所有记录的数量.
Count (ALL expression) 对组中的每一行都计算 expression 并返回非空值的数量。
Count (DISTINCT expression) 对组中的每一行都计算 expression 并返回唯一非空值的数量。
Avg 函数
四种数据库的用法有点不一样.
Access和MySQL不支持avg(distinct expression)操作,而Oracle和MS SQL Server是支持的.
Min, Max 函数Min和Max函数,是分别返回表达式中的最小和最大值,用法四种数据库存在区别,区别跟上面Avg函数一样.
Sum 函数
Sum函数用于求和,用法有区别,也是Access和MySQL 不支持带distinct的表达式用法.
下面两个函数,就不像上面的函数那么简单了.
标准偏差函数:
四种数据库的差别更大了,在很多地方也是不相同的,
产品 | 总体偏差 | 抽样偏差 | 用法 | 说明 |
Access | StDevP() | StDev() | 括号中用字段名或者字段运算表达式 | 不支持表达式前加distinct,P是Population。 |
MS SQL Server | 同上 | 同上 | 同上 | 支持表达式前加distinct |
Oracle | StdDev_Pop() | StdDev() StdDev_Samp() | 同上 | 支持表达式前加distinct |
MySQL | Std() StdDev()
| 无 加入 | 同上 | 不支持表达式前加distinct |
方差函数:
产品 | 总体偏差 | 抽样偏差 | 用法 | 说明 |
Access | VarP() | Var() | 括号中用字段名或者字段运算表达式 | 不支持表达式前加distinct |
MS SQL Server | 同上 | 同上 | 同上 | 支持表达式前加distinct |
Oracle | Var_pop() | var_samp() variance | 同上 | 支持表达式前加distinct |
MySQL | 4.1版以前 没有
| 无 加入 | 同上 | 不支持表达式前加distinct |
为了更高效地操作数据库,我们往往都要借助于一些操作工具,在Access中,当然就是其本身了,而在SQL Server中,可以用企业管理器和查询分析器来完成你想要完成的工作,对于Oracle,一般给人的感觉这个东西实在太高深了,可是如果你一旦有了PL/SQL Developer,操作就不再是难事,从一般浏览查询建表,导入导出,甚至命令跟踪都可以轻易完成。
参考文献:
MySQL Reference Manual 12.9 Functions and Modifiers for Use with GROUP BY Clauses
Access2003帮助:SQL 聚合函数
SQL Server 2003 聚合函数
【作者: wuxingblog】【访问统计:】【2005年06月26日 星期日 12:27】【注册】【打印】
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=2068651
|
- 评论人:test
2008-11-24 17:28:25
|
|||
test |
||||
|
- 评论人:sd
2007-10-07 08:41:06
|
|||
经典
|
||||
|
- 评论人:好
2006-05-25 21:38:28
|
|||
好象有了更
|
||||