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

ASP
分享一段代码show.asp?id=26变成show/?26的形式
多域名一网站时如果返回最原来的域名
[原创]完美解决ASP 不能更新。数据库或对象为只读。
5天学会asp
TSYS中生成静态页时溢出: ''CInt''
对象标记具有无效的 ''MSWC.MyInfo'' ProgID
[原创]随机增加网站点击的一个不错的方法
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
反SPAM新思路—换Z-BLOG的验证码!
七步倒┈→专用asp后门
asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
使用ASP实现网站的“目录树”管理的代码
ShowPage 显示“上一页 下一页”等信息的封装代码
[原创]站长感慨asp编程究竟何去何从
响应对象 错误 ''ASP 0185 : 80020003'' 缺少默认属性
[原创]asp下用实现模板加载的的几种方法总结
[原创]asp获取URL参数的几种方法分析总结
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
ASP程序中输出Excel文件实例一则
ASP应用中如何限制同一表单被多次提交

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 58 ::
收藏到网摘: 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语句做一番探讨。