首页   关于我们   网站建设   上海兼职网站制作  兼职网站设计  网站案例   网站知识   联系我们   

在ADO使用SELECT语法四_QQread.com

发布于:2007-9-30 已被阅读: 次 来源:上兼职海网站建设

HAVING    HAVING使用于SELECT 表达式中,筛选已经GROUP BY统计的记录。在GROUP BY统计记录后,HAVING将筛选与HAVING子句中条件相吻合的记录。语法如下:SELECT fieldlistFROM tableWHERE selectcriteriaGROUP 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,1Response.Write "<p>Having Avg(分数) >=60"Do while not rs2.EOFResponse.Write "<BR>" & rs2("姓名") & " " & rs2("科目") & " 平均: " & rs2("平均")rs2.MoveNextLooprs2.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,1Response.Write "<p>找出重复Having Count(代号) > 1"Do while not rs2.EOFResponse.Write "<BR>" & rs2("代号") rs2.MoveNextLooprs2.Close%>    以上的 ASP程式rs23.asp,在用户端使用浏览器,浏览执行的结果,显示代号重复的记录。UnionUnion可以合并多组查询的结果。语法如下:查询1 UNION [ALL] 查询2 [UNION [ALL]查询3 [ ... ]]查询为一个SELECT表达式。    当您使用一个 UNION 运算时,不会返回重复的记录;若要返回所有的记录,您可以于UNION后加上ALL,加上ALL执行查询的速度比较快。    在一个UNION运算中的所有查询,字段数目必须相同。字段大小可以不同,字段资料类型也可以不同。只有在第一个SELECT表达式中可使用别名,在其它SELECT表达式中被省略。可以在每一个SELECT表达式中使用GROUP BY或HAVING子句,以统计查询的结果。可以在最后一个SELECT表达式使用ORDER BY 子句,以指定查询的结果的排列顺序。让我们看一个于ASP程式当中使用这个SQL指令的例子。    可以利用Union合并两组查询的结果,譬如ASP程式rs25.asp如下,[(SELECT 姓名,科目,分数 From 考试 Where 科目='算术' and 姓名='李四') Union (SELECT 姓名,科目,分数 From 考试 Where 科目='算术' and 姓名='张三')],使用Union合并两组SELECT查询的结果,一组为查询李四的算术成绩记录,另一组查询张三的算术成绩记录:<%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 考试 Where 科目='算术' and 姓名='李四') Union (SELECT 姓名,科目,分数 From 考试 Where 科目='算术' and 姓名='张三')"rs2.Open SqlStr,conn1,1,1Response.Write "<p>Union"Do while not rs2.EOFResponse.Write "<BR>" & rs2("姓名") & " " & rs2("科目") & " 分数: " & rs2("分数")rs2.MoveNextLooprs2.Close%>    以上的 ASP程式rs25.asp,在用户端使用浏览器,浏览执行的结果,显示李四和张三的算术分数记录。进入讨论组讨论。 建设 Nero 6高级使用图解分区指南 实例解说fdisk工具的使用Eclips使用秘技(绝对经典)电脑使用常见问题解答 制作

网站建设相关信息

上兼职海网站建设服务

一、网站建设套餐A型
1个英文.COM域名
80M独立网站空间
25M邮件空间,5个企业邮箱
1个FLASH首页,10个精美内页
网站建设优惠价:面谈

二、网站建设套餐B型
1个英文.COM域名
120M独立网站空间,加75M备份,免费Access数据库
50M邮件空间,10个企业邮箱
1个FLASH首页,20个精美内页
1个新闻发布系统
1个计数器,一个留言板
网站建设优惠价:面谈

三、网站建设套餐C型
1个英文.COM域名
250M独立网站空间,加125M备份,免费Access数据库
100M邮件空间,20个企业邮箱
1个FLASH首页,30个精美内页
一个新闻发布系统
一个产品发布系统
1个计数器,一个留言板
网站建设优惠价:面谈

网站知识

什么是网站运营?
网络营销-网站优化
提高博客人气的方法
整站优化要注意平衡
如何为企业的网站建设准备
高难上海兼职网站制作的心得
什么样网页布局是你最喜欢
一个好的网站建设应该
网页设计师的薪水标准
上海兼职网站制作中心对
保持网站建设制作流量