使用SQL函数,您可以在一个SELECT语句的查询当中,直接计算数据库资料的平
均值、总数、最小值、最大值、总和、标准差、变异数等统计。使用Recordset对象
时,也可使用这些SQL函数。
SQL函数包括如下:
Avg函数:计算查询中某一特定字段资料的算术平均值。
Count函数:计算符合查询条件的记录数。
Min, Max函数:传回指定字段之中符合查询条件的第一条、最末条记录的资料。
First, Last函数:传回指定字段之中符合查询条件的最小值、最大值。
StDev函数:计算指定字段之中符合查询条件的标准差。
Sum函数:计算指定字段之中符合查询条件的资料总和。
Var,函数:计算指定字段之中符合查询条件的变异数估计值。
ADO如何使用SQL函数呢?
譬如ASP程式码rs21.ASP,在用户端使用浏览器,浏览执行的结果,显示执行SQL函数
的结果。
ASP程式码rs21.ASP如下:
<%
Set conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver=
{Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
Set rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "SELECT Avg(价格) As 平均 From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "
Avg: " & rs2("平均")
rs2.Close
SqlStr = "SELECT Count(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "
Count(价格): " & rs2(0)
rs2.Close
SqlStr = "SELECT Count(*) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "
Count(*): " & rs2(0)
rs2.Close
SqlStr = "SELECT Sum(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "
Sum: " & rs2(0)
rs2.Close
SqlStr = "SELECT Min(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "
Min: " & rs2(0)
rs2.Close
SqlStr = "SELECT Max(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "
Max: " & rs2(0)
rs2.Close
SqlStr = "SELECT First(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "
First(价格): " & rs2(0)
rs2.Close
SqlStr = "SELECT Last(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "
Last(价格): " & rs2(0)
rs2.Close
SqlStr = "SELECT First(代号) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "
First(代号): " & rs2(0)
rs2.Close
SqlStr = "SELECT Last(代号) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "
Last(代号): " & rs2(0)
rs2.Close
SqlStr = "SELECT StDev(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "
StDev: " & rs2(0)
rs2.Close
SqlStr = "SELECT Var(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "
Var: " & rs2(0)
rs2.Close
conn1.Close
%>
SQL函数,详细描述如下:
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 值,该表示不
能计算变异数