關於分頁

爲什麼需要分頁

1. 方便用戶查看,提高客戶端體驗

2. 減輕數據庫資源管理器的開銷,提高程序運行速度

分頁查詢的本質

查看某一頁就返回這一頁的數據

設計分頁時的幾個變量

page:頁碼

pageSize:  每頁顯示記錄的數量

totalPage: 總頁數  (必須知道總記錄數和每頁要顯示的記錄數)

totalCount:  總記錄數 = select count(id) from 表名

因此:

totalPage可以利用以下公式得知:

if(totalCount%pageSize==0)

{totalPage = totalCount/pageSize;}

else{totalPage = totalCount/pageSize + 1;}

 

hasPreviousPage  :   是否顯示上一頁  (可根據當前頁判斷

hasNextPage   :     是否顯示下一頁  (可根據總頁數判斷

filter::       要過濾的記錄數(,查詢返回的記錄中不包含的記錄)  

該變量的值又可根據以下公式得知:

filter= pageSize*(page - 1) ;

(假定每頁5條記錄,即:第一頁:過濾前0,第二頁過濾前5條,第三頁過濾前10.........)

_______________________________________________________________________________

常見數據庫分頁語句:

1. Oracle

假設每頁5條記錄:

select * from (select e.*,rownum k from emp e where 條件】 )where k>(頁碼-1)*5 and k<=頁碼*5

2. MySQL

//假設每頁10條記錄:

int pageSize=10;

int filter= pageSize* (page-1)

select * from 表名 where 主鍵 is not null limit filter,pageSize

3. SQLServer

假設每頁10條記錄:

int pageSize=10;

int filter= pageSize* (page-1)

"select top pageSize * from Users where id not in(select top " + filter+ " id from Users) order by id desc";

 

_________________________________________________________

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章