php+access實現limit查詢

雖然切版一直致力於爲網站建設公司提供優質的web前端外包開發服務,可是咱們也是懂程序的,這一點鮮有人知道,只是咱們放棄了二流的程序技術,更願意把一流的前端開發技術服務更多的人羣,關於程序,好比咱們就爲本身的pm項目管理系統採用了 php+access的冷門搭配開發出來了,其中碰到一個問題,就是access沒法像 mysql同樣能夠limit查詢,因此採用了一種另類但可行的方法。php

Access實現limit相似的功能的方法這篇文章的內容以下:html

Mysql數據庫支持LIMIT語句,因此使得翻頁易如反掌,好比咱們能夠這麼寫:前端

SELECT * FROM Doc WHERE docSort=‘Java’ LIMIT 0,30mysql

表示從第1條開始取30條記錄。但其餘數據庫都不支持這個語句,因此只能另闢蹊徑了,下面就來介紹一下「掐頭去尾」法。此方法主要是利用web

了Access數據庫的排序功能和TOP語句,咱們都知道若是要顯示前N條記錄能夠這樣寫:sql

SELECT TOP N * FROM Doc數據庫

這使用起來很方便。咱們還能夠擴展一下:網站

SELECT TOP N * FROM (SELECT TOP 2N * FROM Doc WHERE docSort=’Java’ ORDER BY id DESC) ORDER BY id ASChtm

到這裏我想你們已經都明白了吧,子查詢獲得逆序排列的前2N條記錄,而後把這2N條記錄按正序排列獲得前N條記錄。OK了,這裏的前排序

N條記錄,實際上就是咱們想要的第N到第2N條記錄。下面是一個具體的例子:
注:其中的PageSize(分頁的大小)和PageIndex(分頁索引,初始假設爲0)均爲變量,請相應處理。
SELECT * FROM (
SELECT TOP [PageSize] * FROM (
SELECT TOP [PageSize * (PageIndex + 1)] * FROM Doc WHERE docSort=’Java’ ORDER BY id DESC
) ORDER BY id ASC
)ORDER BY id DESC

以上就是咱們解決了這一個問題的思路,親測可用。

切版- 切圖網(qietu.com)旗下psd轉html,前端外包的「切圖客」團體。

相關文章
相關標籤/搜索