欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » Sql随手笔记 » 正文

热门阅读

平均值、总数、最小值、最大值、总和、标准差

创建时间:2011年06月09日 20:36  阅读次数:(7825)
分享到:

本章我们主要介绍如何在SQL Server使用sql函数求平均值、总数、最小值、最大值、总和、标准差等常用值。

首先们了解一下SQL函数:使用sql函数,您可以在一个select语句的查询当中,直接计算数据库资料的平均值、总数、最小值、最大值、总和、标准差、变异数等统计。使用recordset对象时,也可使用这些sql函数。

sql常用函数包括如下:
1,avg函数:计算查询中某一特定字段资料的算术平均值。
2,count函数:计算符合查询条件的记录数。
3,min,max函数:传回指定字段之中符合查询条件的第一条、最末条记录的资料。
4,first,last函数:传回指定字段之中符合查询条件的最小值、最大值。
5,stdev函数:计算指定字段之中符合查询条件的标准差。
6,sum函数:计算指定字段之中符合查询条件的资料总和。
7.var,函数:计算指定字段之中符合查询条件的变异数估计值。

那么ado中如何使用sql函数呢?
示例代码如下:
set conn1 = server.createobject("adodb.connection")
conn1.open "dbq=" & server.mappath("ntopsamp.mdb") & ";driver=;driverid=25;fil=ms access;"
set rs2 = server.createobject("adodb.recordset")

sqlstr = "select avg(成本) as 平均 from 物料"
rs2.open sqlstr,conn1,1,1
response.write "<br>avg: " & rs2("平均")
rs2.close

sqlstr = "select count(成本) from 物料"
rs2.open sqlstr,conn1,1,1
response.write "<br>count(成本): " & rs2(0)
rs2.close

sqlstr = "select count(*) from 物料"
rs2.open sqlstr,conn1,1,1
response.write "<br>count(*): " & rs2(0)
rs2.close

sqlstr = "select sum(成本) from 物料"
rs2.open sqlstr,conn1,1,1
response.write "<br>sum: " & rs2(0)
rs2.close

sqlstr = "select min(成本) from 物料"
rs2.open sqlstr,conn1,1,1
response.write "<br>min: " & rs2(0)
rs2.close

sqlstr = "select max(成本) from 物料"
rs2.open sqlstr,conn1,1,1
response.write "<br>max: " & rs2(0)
rs2.close

sqlstr = "select first(成本) from 物料"
rs2.open sqlstr,conn1,1,1
response.write "<br>first(成本): " & rs2(0)
rs2.close

sqlstr = "select last(成本) from 物料"
rs2.open sqlstr,conn1,1,1
response.write "<br>last(成本): " & rs2(0)
rs2.close

sqlstr = "select first(编码) from 物料"
rs2.open sqlstr,conn1,1,1
response.write "<br>first(编码): " & rs2(0)
rs2.close

sqlstr = "select last(编码) from 物料"
rs2.open sqlstr,conn1,1,1
response.write "<br>last(编码): " & rs2(0)
rs2.close

sqlstr = "select stdev(成本) from 物料"
rs2.open sqlstr,conn1,1,1
response.write "<br>stdev: " & rs2(0)
rs2.close

sqlstr = "select var(成本) from 物料"
rs2.open sqlstr,conn1,1,1
response.write "<br>var: " & rs2(0)
rs2.close
conn1.close

函数说明如下:
avg函数
avg函数,计算查询中某一特定字段资料的算术平均值。
语法为avg(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的sql函数。
avg函数在计算时,不包含任何值为 null 的资料。

count函数
count函数,计算符合查询条件的记录条数。
语法为count(运算式)。运算式,可为字段名称、*、多个字段名称、运算式、或一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的sql函数。
count函数於计算时,不包含任何值为null的资料。
但是,count(*)则计算所有符合查询条件的记录条数,包含那些null的资料。
如果count(字段名称)的字段名称为多个字段,将字段名称之间使用&分隔。
多个字段当中,至少有一个字段的值不为null的情况下,count函数才会计算为一条记录。如果多个字段都为null,则不算是一条记录。
譬如:

select count(成本 & 编码) from 物料

first/last函数
first函数、last函数,传回指定字段之中符合查询条件的第一条、最末条记录的资料。
语法为first(运算式)和last(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的sql函数。

min/max函数
min函数、max函数,传回指定字段之中符合查询条件的最小值、最大值。
语法为min(运算式)和max(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的sql函数。

stdev函数
stdev函数,计算指定字段之中符合查询条件的标准差。
语法为stdev(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的sql函数。
如果符合查询条件的记录为两个以下时,stdev函数将传回一个null值,该表示不能计算标准差。

sum函数
sum函数,计算指定字段之中符合查询条件的资料总和。
语法为sum(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的sql函数。
sum函数可使用两个字段资料运算式,譬如计算物料的单价及数量字段的合计:

select sum(单价 * 数量) from 物料

var函数
var函数,计算指定字段之中符合查询条件的变异数估计值。
语法为var(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的sql函数。
如果符合查询条件的记录为两个以下时,var函数将传回一个null值,该表示不能计算变异数。
select min(c) from (select min(b ) as c from tab_name
union
select min(a) as c from tab_name)
梺?\購汵箏t錱鈰剉酧0
来源:
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 38+40=? 的结果(结果是:78)
结  果: