直播中
使用SQL函數(shù),您可以在一個(gè)SELECT語(yǔ)句的查詢當(dāng)中,直接計(jì)算數(shù)據(jù)庫(kù)資料的平
均值、總數(shù)、最小值、最大值、總和、標(biāo)準(zhǔn)差、變異數(shù)等統(tǒng)計(jì)。使用Recordset對(duì)象
時(shí),也可使用這些SQL函數(shù)。
SQL函數(shù)包括如下:
Avg函數(shù):計(jì)算查詢中某一特定字段資料的算術(shù)平均值。
Count函數(shù):計(jì)算符合查詢條件的記錄數(shù)。
Min, Max函數(shù):傳回指定字段之中符合查詢條件的第一條、最末條記錄的資料。
First, Last函數(shù):傳回指定字段之中符合查詢條件的最小值、最大值。
StDev函數(shù):計(jì)算指定字段之中符合查詢條件的標(biāo)準(zhǔn)差。
Sum函數(shù):計(jì)算指定字段之中符合查詢條件的資料總和。
Var,函數(shù):計(jì)算指定字段之中符合查詢條件的變異數(shù)估計(jì)值。
ADO如何使用SQL函數(shù)呢?
譬如ASP程式碼rs21.asp,在用戶端使用瀏覽器,瀏覽執(zhí)行的結(jié)果,顯示執(zhí)行SQL函數(shù)
的結(jié)果。
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(價(jià)格) As 平均 From 產(chǎn)品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Avg: " & rs2("平均")
rs2.Close
SqlStr = "SELECT Count(價(jià)格) From 產(chǎn)品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Count(價(jià)格): " & rs2(0)
rs2.Close
SqlStr = "SELECT Count(*) From 產(chǎn)品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Count(*): " & rs2(0)
rs2.Close
SqlStr = "SELECT Sum(價(jià)格) From 產(chǎn)品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Sum: " & rs2(0)
rs2.Close
SqlStr = "SELECT Min(價(jià)格) From 產(chǎn)品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Min: " & rs2(0)
rs2.Close
SqlStr = "SELECT Max(價(jià)格) From 產(chǎn)品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Max: " & rs2(0)
rs2.Close
SqlStr = "SELECT First(價(jià)格) From 產(chǎn)品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>First(價(jià)格): " & rs2(0)
rs2.Close
SqlStr = "SELECT Last(價(jià)格) From 產(chǎn)品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Last(價(jià)格): " & rs2(0)
rs2.Close
SqlStr = "SELECT First(代號(hào)) From 產(chǎn)品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>First(代號(hào)): " & rs2(0)
rs2.Close
SqlStr = "SELECT Last(代號(hào)) From 產(chǎn)品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Last(代號(hào)): " & rs2(0)
rs2.Close
SqlStr = "SELECT StDev(價(jià)格) From 產(chǎn)品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>StDev: " & rs2(0)
rs2.Close
SqlStr = "SELECT Var(價(jià)格) From 產(chǎn)品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Var: " & rs2(0)
rs2.Close
conn1.Close
%>
SQL函數(shù),詳細(xì)描述如下:
Avg函數(shù)
Avg函數(shù),計(jì)算查詢中某一特定字段資料的算術(shù)平均值。
語(yǔ)法為Avg(運(yùn)算式)。運(yùn)算式,可為字段名稱、運(yùn)算式、或一個(gè)函數(shù),此函數(shù)可
以是一個(gè)內(nèi)部或使用者定義的,但不能為其它的SQL函數(shù)。
Avg函數(shù)在計(jì)算時(shí),不包含任何值為 Null 的資料。
Count函數(shù)
Count函數(shù),計(jì)算符合查詢條件的記錄條數(shù)。
語(yǔ)法為Count (運(yùn)算式)。運(yùn)算式,可為字段名稱、*、多個(gè)字段名稱、運(yùn)算式、
或一個(gè)函數(shù),此函數(shù)可以是一個(gè)內(nèi)部或使用者定義的,但不能為其它的SQL函數(shù)。
Count 函數(shù)於計(jì)算時(shí),不包含任何值為 Null 的資料。
但是,Count(*) 則計(jì)算所有符合查詢條件的記錄條數(shù),包含那些Null的資料。
如果Count(字段名稱) 的字段名稱為多個(gè)字段,將字段名稱之間使用 & 分隔。
多個(gè)字段當(dāng)中,至少有一個(gè)字段的值不為Null的情況下,Count函數(shù)才會(huì)計(jì)算為一條
記錄。如果多個(gè)字段都為Null,則不算是一條記錄。譬如:
SELECT Count(價(jià)格 & 代號(hào)) From 產(chǎn)品
First/Last函數(shù)
First函數(shù)、Last函數(shù),傳回指定字段之中符合查詢條件的第一條、最末條記錄
的資料。
語(yǔ)法為First(運(yùn)算式) 和 Last(運(yùn)算式)。運(yùn)算式,可為字段名稱、運(yùn)算式、或
一個(gè)函數(shù),此函數(shù)可以是一個(gè)內(nèi)部或使用者定義的,但不能為其它的SQL函數(shù)。
Min/Max函數(shù)
Min函數(shù)、Max函數(shù),傳回指定字段之中符合查詢條件的最小值、最大值。
語(yǔ)法為Min(運(yùn)算式) 和 Max(運(yùn)算式)。運(yùn)算式,可為字段名稱、運(yùn)算式、或一個(gè)
函數(shù),此函數(shù)可以是一個(gè)內(nèi)部或使用者定義的,但不能為其它的SQL函數(shù)。
StDev函數(shù)
StDev函數(shù),計(jì)算指定字段之中符合查詢條件的標(biāo)準(zhǔn)差。
語(yǔ)法為StDev(運(yùn)算式)。運(yùn)算式,可為字段名稱、運(yùn)算式、或一個(gè)函數(shù),此函數(shù)
可以是一個(gè)內(nèi)部或使用者定義的,但不能為其它的SQL函數(shù)。
如果符合查詢條件的記錄為兩個(gè)以下時(shí),StDev函數(shù)將傳回一個(gè)Null 值,該表示
不能計(jì)算標(biāo)準(zhǔn)差。
Sum函數(shù)
Sum函數(shù),計(jì)算指定字段之中符合查詢條件的資料總和。
語(yǔ)法為Sum(運(yùn)算式)。運(yùn)算式,可為字段名稱、運(yùn)算式、或一個(gè)函數(shù),此函數(shù)可
以是一個(gè)內(nèi)部或使用者定義的,但不能為其它的SQL函數(shù)。
Sum函數(shù)可使用兩個(gè)字段資料運(yùn)算式,譬如計(jì)算產(chǎn)品的單價(jià)及數(shù)量字段的合計(jì):
SELECT Sum(單價(jià) * 數(shù)量) FROM 產(chǎn)品
Var函數(shù)
Var函數(shù),計(jì)算指定字段之中符合查詢條件的變異數(shù)估計(jì)值。
語(yǔ)法為Var(運(yùn)算式)。運(yùn)算式,可為字段名稱、運(yùn)算式、或一個(gè)函數(shù),此函數(shù)可
以是一個(gè)內(nèi)部或使用者定義的,但不能為其它的SQL函數(shù)。
如果符合查詢條件的記錄為兩個(gè)以下時(shí),Var函數(shù)將傳回一個(gè)Null 值,該表示不
能計(jì)算變異數(shù)。