在ADO使用SELECT语法三

高价收闲置衣服

高价收闲置衣服

2016-01-29 19:03

在ADO使用SELECT语法三,在ADO使用SELECT语法三
  接上一篇文章:

ORDER BY

ORDER BY子句,可以设定排序的字段。

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

    若要以递减顺序来进行排序(Z~A,9 ~0),须于您要递减排序的每一字段的尾部加DESC字。譬如:

SELECT 姓名

FROM 员工

ORDER BY 工资 DESC, 年龄

    表示[工资] 字段以递减顺序来进行排序,[年龄] 字段以递增顺序来进行排序。

    ORDER BY子句中排序的字段,不可以包含MEMO字段类型或OLE对象类型,否则会发生错误。

    在ORDER BY子句之中包含多个的字段时,首先以ORDER BY之后的第一个字段来进行排序。然后,若在此字段之中有相同的资料记录,才会以列第二字段来进行排序,依此类推。

GROUP BY

GROUP BY将查询的结果做统计,语法如下:

SELECT fieldlist
FROM table
WHERE criteria
[GROUP BY groupfieldlist]

    使用WHERE子句,可以设定不想要做统计的资料,而使用HAVING子句可以筛选已经统计之后的字段。

不可以对MEMO字段类型或OLE对象类型的字段做统计,否则会发生错误。

    譬如ASP程式rs22.asp如下,[SELECT 种类, Avg(价格) As 平均 From 产品 Group By 种类] 使用GROUP BY将查询的结果做 [种类] 统计,统计各个种类统计来平均价格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 产品 Group By 种类"

Response.Write "<pAvg(价格)"

rs2.Open SqlStr,conn1,1,1

Do while not rs2.EOF

Response.Write "<BR" & rs2("种类") & ": " & rs2("平均")

rs2.MoveNext

Loop

rs2.Close %

    以上的 ASP程式rs22.asp,用户端使用浏览器,浏览执行的结果,显示依据 [种类] 统计来统计平均价格。

    让我们多看个例子,譬如ASP程式rs22.asp如下,[SELECT 种类, Sum(数量*价格) As 总计 From 产品 Group By 种类] 使用GROUP BY将查询的结果做 [种类] 统计,统计各个种类的数量与价格相乘的总价Sum(数量*价格):

<%

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(数量*价格) As 总计 From 产品 Group By 种类"

rs2.Open SqlStr,conn1,1,1

Response.Write "<pSum(数量*价格)"

Do while not rs2.EOF

Response.Write "<BR" & rs2("种类") & ": " & rs2("总计")

rs2.MoveNext

Loop

rs2.Close %

    以上的 ASP程式rs22.asp,在用户端使用浏览器,浏览执行的结果,显示依据 [种类] 来统计总价。

Groupfieldlist为用以统计的字段名称,最多为10个字段。

    在groupfieldlist中字段名称的顺序,将决定统计层次,由最高至最低的层次来分组。

    最后,譬如ASP程式rs22.asp如下,[SELECT 姓名,科目,Avg(分数) As 平均 From 考试 Group By 姓名,科目] 使用GROUP BY将查询的结果做依据 [姓名] 和 [科目] 统计,统计各个统计的 [平均] 分数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 考试 Group By 姓名,科目"

rs2.Open SqlStr,conn1,1,1

Response.Write "<pGroup By 姓名,科目"

Do while not rs2.EOF

Response.Write "<BR" & rs
展开更多 50%)
分享

猜你喜欢

在ADO使用SELECT语法三

ASP
在ADO使用SELECT语法三

在ADO使用SELECT语法六

ASP
在ADO使用SELECT语法六

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在ADO使用SELECT语法二

ASP
在ADO使用SELECT语法二

在ADO使用SELECT语法一

ASP
在ADO使用SELECT语法一

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在ADO使用SELECT语法四

ASP
在ADO使用SELECT语法四

在ADO使用SELECT语法五

ASP
在ADO使用SELECT语法五

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Linux中防御垃圾邮件的方法

Linux中防御垃圾邮件的方法

SLES FAQ 系列 -- 配置网卡绑定

SLES FAQ 系列 -- 配置网卡绑定
下拉加载更多内容 ↓