在ADO使用SELECT语法四,第1张

在ADO使用SELECT语法四,第2张

考试大编辑整理:计算机软考程序员编程辅导

  HAVING

  HAVING使用于SELECT 表达式中,筛选已经GROUP BY统计的记录。在GROUP BY统计记录后,HAVING将筛选与HAVING子句中条件相吻合的记录。

  语法如下:

  SELECT fieldlist

  FROM table

  WHERE selectcriteria

  GROUP BY groupfieldlist

  [HAVING groupcriteria]

  .groupcriteria表示决定应筛选的统计记录。

  HAVING与WHERE相类似,是用来决定选取哪些记录。当使用GROUP BY来统计记录后,HAVING会决定应显示的记录,譬如:

  SELECT 产品名称

  FROM 产品

  GROUP BY 分类

  HAVING 单价 > 1000

  一个HAVING子句最多可包含40个运算式,运算式之间将由AND或OR等逻辑运算子来连结。

  让我们看一个于ASP程式当中使用这个SQL指令的例子。

  我们可以利用HAVING子句决定应显示的记录,譬如ASP程式rs23.asp如下,[SELECT 姓名,科目,Avg(分数) As 平均 From 考试 Group By 姓名,科目 Having Avg(分数) >=60],使用Having Avg(分数) >=60找出平均分数大于或等于60分的记录:

  <%

  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 姓名,科目 Having Avg(分数) >=60"

  rs2.Open SqlStr,conn1,1,1
 Response.Write "

Having Avg(分数) >=60"

  Do while not rs2.EOF

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

  rs2.MoveNext

  Loop

  rs2.Close

  %>

  以上的 ASP程式rs23.asp,在用户端使用浏览器,浏览执行的结果,显示找出平均分数大于或等于60分的记录。

  我们也可以利用HAVING子句找出重复的记录,譬如ASP程式rs23.asp如下,[SELECT 代号 From 产品 Group By 代号 Having Count(代号) > 1],使用Having Count(代号) > 1找出代号重复的记录:

  <%

  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 代号 From 产品 Group By 代号 Having Count(代号) > 1"

  rs2.Open SqlStr,conn1,1,1

  Response.Write "

找出重复Having Count(代号) > 1"

  Do while not rs2.EOF

  Response.Write "
" & rs2("代号")

  rs2.MoveNext

  Loop

  rs2.Close

  %>

  以上的 ASP程式rs23.asp,在用户端使用浏览器,浏览执行的结果,显示代号重复的记录。

  Union

  Union可以合并多组查询的结果。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 在ADO使用SELECT语法四

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情