国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

在ADO使用SELECT語法三

2019-11-18 22:28:09
字體:
供稿:網(wǎng)友
接上一篇文章:

ORDER BY

ORDER BY子句,可以設(shè)定排序的字段。

在一個SQL表達式之中,ORDER BY子句通常放置于最后。

    若要以遞減順序來進行排序(Z~A,9 ~0),須于您要遞減排序的每一字段的尾部加DESC字。譬如:

SELECT 姓名

FROM 員工

ORDER BY 工資 DESC, 年齡

    表示[工資] 字段以遞減順序來進行排序,[年齡] 字段以遞增順序來進行排序。

    ORDER BY子句中排序的字段,不可以包含MEMO字段類型或OLE對象類型,否則會發(fā)生錯誤。

    在ORDER BY子句之中包含多個的字段時,首先以O(shè)RDER BY之后的第一個字段來進行排序。然后,若在此字段之中有相同的資料記錄,才會以列第二字段來進行排序,依此類推。

GROUP BY

GROUP BY將查詢的結(jié)果做統(tǒng)計,語法如下:

SELECT fieldlist
FROM table
WHERE criteria
[GROUP BY groupfieldlist]

    使用WHERE子句,可以設(shè)定不想要做統(tǒng)計的資料,而使用HAVING子句可以篩選已經(jīng)統(tǒng)計之后的字段。

不可以對MEMO字段類型或OLE對象類型的字段做統(tǒng)計,否則會發(fā)生錯誤。

    譬如asp程式rs22.asp如下,[SELECT 種類, Avg(價格) As 平均 From 產(chǎn)品 Group By 種類] 使用GROUP BY將查詢的結(jié)果做 [種類] 統(tǒng)計,統(tǒng)計各個種類統(tǒng)計來平均價格Avg(價格):

<%

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 產(chǎn)品 Group By 種類"

Response.Write "<p>Avg(價格)"

rs2.Open SqlStr,conn1,1,1

Do while not rs2.EOF

Response.Write "<BR>" & rs2("種類") & ": " & rs2("平均")

rs2.MoveNext

Loop

rs2.Close %>

    以上的 ASP程式rs22.asp,用戶端使用瀏覽器,瀏覽執(zhí)行的結(jié)果,顯示依據(jù) [種類] 統(tǒng)計來統(tǒng)計平均價格。

    讓我們多看個例子,譬如ASP程式rs22.asp如下,[SELECT 種類, Sum(數(shù)量*價格) As 總計 From 產(chǎn)品 Group By 種類] 使用GROUP BY將查詢的結(jié)果做 [種類] 統(tǒng)計,統(tǒng)計各個種類的數(shù)量與價格相乘的總價Sum(數(shù)量*價格):

<%

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 種類, Sum(數(shù)量*價格) As 總計 From 產(chǎn)品 Group By 種類"

rs2.Open SqlStr,conn1,1,1

Response.Write "<p>Sum(數(shù)量*價格)"

Do while not rs2.EOF

Response.Write "<BR>" & rs2("種類") & ": " & rs2("總計")

rs2.MoveNext

Loop

rs2.Close %>

    以上的 ASP程式rs22.asp,在用戶端使用瀏覽器,瀏覽執(zhí)行的結(jié)果,顯示依據(jù) [種類] 來統(tǒng)計總價。

Groupfieldlist為用以統(tǒng)計的字段名稱,最多為10個字段。

    在groupfieldlist中字段名稱的順序,將決定統(tǒng)計層次,由最高至最低的層次來分組。

    最后,譬如ASP程式rs22.asp如下,[SELECT 姓名,科目,Avg(分數(shù)) As 平均 From 考試 Group By 姓名,科目] 使用GROUP BY將查詢的結(jié)果做依據(jù) [姓名] 和 [科目] 統(tǒng)計,統(tǒng)計各個統(tǒng)計的 [平均] 分數(shù)Avg(分數(shù)):

<%

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(分數(shù)) As 平均 From 考試 Group By 姓名,科目"

rs2.Open SqlStr,conn1,1,1

Response.Write "<p>Group By 姓名,科目"

Do while not rs2.EOF

Response.Write "<BR>" & rs2("姓名") & " " & rs2("科目") & " 平均: " & rs2("平均")

rs2.MoveNext

Loop

rs2.Close

%>

    以上的 ASP程式rs22.asp,在用戶端使用瀏覽器,瀏覽執(zhí)行的結(jié)果,顯示依據(jù) [姓名] 和 [科目] 來統(tǒng)計 [平均] 分數(shù)。

學會了嗎?

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安溪县| 鲁甸县| 奎屯市| 九江市| 苍山县| 安化县| 收藏| 衡东县| 福建省| 和龙市| 西宁市| 肥城市| 师宗县| 涟源市| 阿克陶县| 文登市| 宁德市| 遂宁市| 小金县| 呼图壁县| 绥江县| 阿拉善盟| 揭阳市| 鄂伦春自治旗| 全南县| 乐都县| 神池县| 安阳县| 景泰县| 瑞昌市| 会昌县| 杭州市| 寿阳县| 德惠市| 额尔古纳市| 肥城市| 九龙县| 道真| 太保市| 个旧市| 油尖旺区|