資料庫分頁

2021-08-16 09:28:39 字數 1933 閱讀 7852

技巧:

a.確定每頁顯示的記錄數

b.獲取總記錄數

c.1.確定分頁後的總頁數(總記錄數/每頁顯示的記錄數),有餘數時,總頁數加1 2.準確計算出分頁後的總頁數(總記錄數-1)/每頁顯示的記錄數+1)推薦使用

d.根據當前頁顯示資料(頁數小於1時,則使其等於1,頁數大於最大頁數時,則使其等於最大頁數)

e.通過for迴圈顯示結果

1.sql servler資料庫

獲取分頁後第二頁的資料(查詢不包含資料表前4條記錄):

select top 4 *  from book where bookno not in(select top 4 bookno from book order by bookno asc) order by bookno asc;

pagesize:指定分頁後每頁顯示的記錄數

page:用於指定當前頁數

select top "+pagesize+" *  from book where bookno not in(select top "+(page-1)*pagesize+" bookno from book order by bookno asc) order by bookno asc;

2.mysql資料庫

第一頁:select * from tb_user limit 0,5;

第二頁:select * from tb_user limit 5,5;

limit第乙個引數為"(頁數-1)*每頁顯示記錄數"(從0開始找5條資料)、第二個引數為"每頁顯示記錄數"

select * from tb_user limit "+(page-1)*pagesize+","+pagesize+";

3.oracle資料庫分頁

第一頁:select * from(select rownum r,e.* from emp e where rownum<=5) where r>1;

第二頁:select * from(select rownum r,e.* from emp e where rownum<=10) where r>5;

select * from(select rownum r,e.* from(select * from emp order by time desc) e where rownum<= pagesize*page) where r>pagesize*(page-1);

select * from (select rownum r,e.* from (select *  from emp order by empno desc) e where rownum<=5)

where r>0;

select * from (select 行號 r,t.* from (根據time倒排序的所有資訊)t where rownum <=頁的大小*第幾頁) where r> (頁的大小* (第幾頁-1));

其中rownum是行號, pagesize是傳入的每頁的大小 就是每頁多少行 page 是傳入的第幾頁 也就是你想顯示第幾頁.

4.hibernate分頁(setfirstresult起初值從0開始)

從索引位置3開始查詢6條資料

query query = session.createquery("from user");

query.setfirstresult(3);

query.setmaxresult(6);

5.qbc分頁

從索引位置3開始查詢6條資料

criteria criteria= session.createcriteria ("user.class");

criteria.setfirstresult(3);

criteria.setmaxresult(6);

資料庫分頁

mysql 分頁採用limt 關鍵字select from t order limit 5,10 返回第6 15 行資料 select from t order limit 5 返回前5 行 select from t order limit 0,5 返回前5 行 mssql 2000 分頁採用to...

資料庫分頁

oracle分頁 方法1 根據rowid來分 select from uop crm1.tf f user where rowid in select rid from select rownum r,rid from select rowid rid from uop crm1.tf f user...

資料庫分頁

一 mysql 資料庫分頁查詢 mysql資料庫實現分頁比較簡單,提供了limit函式。一般只需要直接寫到sql語句後面就行了。limit子句可以用來限制由select語句返回過來的資料數量,它有乙個或兩個引數,如果給出兩個引數,第乙個引數指定返回的第一行在所有資料中的位置,從0開始 注意不是1 第...