当前位置: 首页 > 图文教程 > 网络编程 > ASP > 在ASP中使用SQL语句之7:ORDER BY

ASP
对连串英文自动换行的解决方法 IE5.5
怎样写你自己的EMAIL组件(原理)
ASP中有关timeout超时的体会
用ASP实现从SQL Server导出数据到Access
ASP向NT域中加一个用户
ASP乱码的解决方法
关于 aspsmartupload 注册问题
利用XML不离开页面刷新数据
IIS 处理 SEARCH 请求漏洞
不用组件实现上载功能(1)
不用组件实现上载功能(2)
在网页中实现OICQ里的头像选择的下拉框
仅用xsl和asp实现分页功能
如何使用context()方法将数据置入表格(XML)
利用ASP从远程服务器上接收XML数据
将数据库里面的内容生成EXCEL
怎样在ASP里面创建统计图表
加密你的Access数据库
利用global.asp定时执行ASP
加密QueryString数据

在ASP中使用SQL语句之7:ORDER BY


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 116 ::
收藏到网摘: n/a

从Access数据库中选取记录有件最令人丧气的事情,它们是以怎样的顺序输入到数据库内就按照怎样的顺序出来。就算你在Access环境内采用Sort By来改变记录视图,数据表内的记录顺序也并没有发生改变。


如果你正在使用ASPrecordset在网页上写出记录,那么你或许知道乱纷纷的顺序是多令人痛苦的事。但是你可能不得不经常得面对这一问题,因为并不存在什么简单方便的解决方案。好在ORDER BY 可以简化这一难题。

为了对你的结果排序,只要在SELECT语句末尾加上ORDER BY,然后指定你需要排序的参照列即可。因此,如果你想要根据顾客的姓氏对Customers表排序,那么你可以编写如下的查询语句:
SQL = "SELECT c_lastname, c_firstname, c_email FROM Customers ORDER BY c_lastname"

这样,只要你建立了recordset而且开始把结果写到屏幕上,你就会看见数据按照字母顺序排列起来了。

多级排序
其实不仅仅可以在SQL语句中进行一级排序。实际上,在很多情况下,你可能会希望指定两到三级深度的数据排序。假设你有以下数据表,其内容如下所示: [image003.gif]


先前采用的单级ORDER BY 排序是按下面的顺序取出数据的:
Absurdly Assured
[email protected]

Absolutely Assured
[email protected]

Crazed Coder
[email protected]

Loosely Fringe
[email protected]

Lunatic Fringe
[email protected]

Hands On
[email protected]

显然ORDER BY 起了应有的作用。在实际的表结构下,Absurdly Assured 是最后的条目,但它排在检索结果的最顶端。Hands On记录排最后因为 O 在以上列表中排在字母表最后。显然,Absolutely按照字母表最好排在Absurdly之前。为此,你需要采取第2级ORDER BY 排序标准,参照第2列进行排序:
SQL = "SELECT c_lastname, c_firstname, c_email FROM Customers ORDER BY
c_lastname, c_firstname"

其结果将首先按照c_lastname 列排序然后按照c_firstname 列排序。假如你的数据表包含的记录比较多,仔细设计排序会令输出结果编排更为合理。

投入使用
如果你同大多数程序员一样喜欢自己动手编代码,沉湎于掌握新技术的狂热之中。何不从ASP的冗长编码中转过头来尝试一下SQL编码呢?下面我们将就ASP编程时常见的问题以及如何在ASP中高效地利用SQL语句做一番探讨。