您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> VFP >> 辅导 >> 正文    
  在ADO使用SELECT语法三 【注册男护士专用博客】          

在ADO使用SELECT语法三

www.nanhushi.com     佚名   不详 

  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" & rs2("姓名") & " " & rs2("科目") & " 平均: " & rs2("平均")

  rs2.MoveNext

  Loop

  rs2.Close

  %

  以上的 ASP程式rs22.asp,在用户端使用浏览器,浏览执行的结果,显示依据 [姓名] 和 [科目] 来统计 [平均] 分数。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。