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

來源:互聯網
上載者:User
語句 從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
absurd@assured.com

Absolutely Assured
absolutely@assured.com

Crazed Coder
crazy@coder.net

Loosely Fringe
loose@fringe.to

Lunatic Fringe
lune@fringe.to

Hands On
hands@yes.org

顯然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語句做一番探討。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.