mysql mssql oracle 分頁總結

2021-07-11 01:55:53 字數 1258 閱讀 4403

首先是mysql

簡直就是簡單的一p,主要是利用了mysql的limit關鍵字

/*

* sql:可以是單錶的查詢語句,也可以是多表的聯合查詢語句

* pageindex:當前頁

* pagesize:每頁顯示的記錄數

*/select o.* from (sql) o limit pageindex*pagesize,pagesize

接下來mssql ,版本要在2005以後,利用了mssqltop 以及row_number()函式

/*

* pageindex:當前頁

* pagesize:每頁顯示的數量

* ordercolumn:排序的欄位名

* sql:可以是簡單的單錶查詢語句,也可以是複雜的多表聯合查詢語句

*/select top pagesize o.* from (select row_number() over(order

by ordercolumn) as rownumber,* from(sql) as o where rownumber>pagesize*pageindex;

最後是oracle 有比較多的方式

先是rownum方式

/*

* pageindex:當前頁

* pagesize:每頁顯示的數量

* sql:可以是簡單的單錶查詢語句,也可以是複雜的多表聯合查詢語句

*/select * from(select a.*,rownum rn from(sql) a where rownum<=((pageindex+1)*pagesize)) where rn>pageindex*pagesize;

然後是row_number()方式

複製**

/* * pageindex:起始索引

* pagesize:每頁顯示的數量

* ordercolumn:排序的欄位名

* sql:可以是簡單的單錶查詢語句,也可以是複雜的多表聯合查詢語句

*/select * from(select * from(select t.*,row_number() over(order

by ordercolumn) as rownumber from(sql) t) p where p.rownumber>pageindex*pagesize) where rownum<=pagesize

分頁的總頁數演算法

總記錄數 totalrecord 每頁最大記錄數 pagesize 演算法一 獲取總頁數 總條數 每頁最大記錄數 public static int gettotalpage int totalrecord,int pagesize view code 獲取總頁數 總條數 每頁最大記錄數 publi...

分頁計算總頁數的演算法

展示列表,使用分頁的時候,經常會遇到分頁的使用,比如使用mybatis通過sql語句分頁實現分頁功能。本次主要是寫對返回的資料進行分頁的總頁數計算,故分頁不進行贅述,只簡要說明一下對得到的結果計算分頁的總頁數 有兩種實現方式 方法1 totalpage total pagesize 0 total ...

Hibernate分頁和總記錄數

根據hql來分頁查詢物件 description 根據hql來分頁查詢物件 param hsql 要查詢的條件 param firstrow 第一行 param maxrow 行數 return 查詢結果list since 2008 12 5 author xx public listqueryb...