在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 "<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,用户端使用浏览器,浏览执行的结果,显示依据 [种类] 统计来统计平均价格。
让我们多看个例子,譬如ASP程式rs22.asp如下,[SELECT 种类, Sum(数量*价格) As 总计 From 产品 Group By 种类] 使用GROUP BY将查询的结果做 [种类] 统计,统计各个种类的数量与价格相乘的总价Sum(数量*价格):

时间: 2024-11-08 19:41:30

在ADO使用SELECT语法三的相关文章

在ADO使用SELECT语法五

JoinJOIN连接组合两个表中的字段记录,包括三种:INNER JOIN运算式:连接组合两个表中的字段记录.LEFT JOIN运算式:连接组合两个表中的字段记录,并将包含了LEFT JOIN左边表中的全部记录.RIGHT JOIN运算式:连接组合两个表中的字段记录,并将包含了RIGHT JOIN右边表中的全部记录.INNER JOIN设定两个表相关连的运算式,以连接组合两个表中的字段记录.INNER JOIN语法如下:FROM 表1 INNER JOIN 表2 ON 表1.字段1 比较运算子

在ADO使用SELECT语法六

子查询 在一个SELECT.SELECT...INTO.INSERT...INTO.DELETE.或UPDATE 表达式中,可以包括SELECT表达式,这个SELECT表达式叫做子查询(sub query).您可以使用三种语法建立子查询:表达式 [ANY | ALL | SOME] (子查询)表达式 [NOT] IN (子查询)[NOT] EXISTS (子查询) 子查询的一个SELECT表达式,与一般SELECT表达式的语法相同,必须包括在括号之中. 您可以使用子查询来替代SELECT表达式的

ADO使用SELECT语法二

接上一篇文章:WHERE可以使用下面的BETWEEN.LIKE.IN运算子.Between...AndBetween...And判断表达式的值是否落在指定的范围之中.语法为:expr Between value1 And value2 表示如果expr的值介于value1和value2之间,则Between...And运算子会返回True:否则它会返回False. 您也可以加上逻辑运算 Not expr Between value1 And value2,来判断相反的条件,即expr落在valu

在ADO使用SELECT语法四

HAVING HAVING使用于SELECT 表达式中,筛选已经GROUP BY统计的记录.在GROUP BY统计记录后,HAVING将筛选与HAVING子句中条件相吻合的记录.语法如下:SELECT fieldlistFROM tableWHERE selectcriteriaGROUP BY groupfieldlist[HAVING groupcriteria].groupcriteria表示决定应筛选的统计记录. HAVING与WHERE相类似,是用来决定选取哪些记录.当使用GROUP

SQL select 语法

select|语法 SQL 里面最常用的命令是 SELECT 语句,用于检索数据.语法是: SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] * | expression [ AS output_name ] [, ...] [ INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table ] [ FROM from_item [, ...] ] [ WHERE condition ] [ GROUP B

sql 表内容复制 INSERT INTO Select语法

sql 表内容复制 insert into select语法 insert into 新表(字段1,字段2,.......) select 字段1,字段2,...... from 旧表 mysql教程_connect("localhost","root","123456"); mysql_select_db("db_test"); mysql_query("set names 'utf8'"); $quer

MySQL进阶SELECT语法篇_Mysql

MySQL中SELECT语句的基本语法是:  SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [HIGH_PRIORITY] [DISTINCT|DISTINCTROW|ALL] select_list [INTO {OUTFILE|DUMPFILE} 'file_name' export_options] [FROM table_references [WHERE where_definition] [GROUP BY co

在ADO使用SELECT语法一

SELECT表达式接着,让我们看看SELECT表达式,SELECT用来在表中寻找符合特定条件的记录,语法如下:SELECT [关键字] { * | 表名称.* | [表名称.]字段名称1 [AS 别名1] [, [表名称.] 字段名称2 [AS 别名2] [, ...]]}FROM 表运算式 [, ...] [IN 外部表][WHERE... ][GROUP BY... ][HAVING... ][ORDER BY... ][WITH OWNERACCESS OPTION]关键字:可以用来限制返

浅谈PHP语法(三)

语法 上文中曾提到了PHP提交表单信息是很方便的.可是,提交的表单信息中的变量的生命周期是多长呢?本文就来崐谈谈这个问题. 表单的参数会传给下一个处理程序,这是不用置疑的.因为,我们曾有过这样的例子.可它还会继续传给下一个处理程序吗? 答案是否定的!一个Form表单所提交的参数只传给第一个处理程序,而下一个处理程序中它是不会起作用的.来看看下例吧: 文件:table.html <html> <head><title>表单提交</title> </hea