不同資料庫的分頁實現

2021-07-26 16:51:57 字數 1183 閱讀 2514

oracle  

1: 偽列 rownum

select * from

(select t.*,rownum rn from t_user t where

rownum(page.getcurrentpage()-1)*page.getpagesize()

2: 物理列 rowid

select * from t_user t where rowid in(

select rowid from

(select t.*,rownum rn from t_user t)

where rn(page.getcurrentpage()-1)*page.getpagesize()                     

)mysql

select * from t_user t limit n,m;

n 代表的開始位置  記錄的第一條是0開始

m 代表的返回的記錄條數

jdbc分頁:

select * from t_user t limit

(page.getcurrentpage()-1)*page.getpagesize (),

page.getpagesize ()

sql server

select top n from t_user ;

表示顯示表中的前  n條記錄

select top (page.getcurrentpage()-1)*page.getpagesize ()

from

( select top page.getcurrentpage()*page.getpagesize ()

from t_user  order by id desc)

db2分頁查詢

select * from (select 欄位1,欄位2,欄位3,rownumber() over(order by 排序用的列名 asc) as rn from 表名) as a1 where a1.rn between 10 and 20

以上表示提取第10到20的紀錄

select * from (select rownumber() over(order by id asc ) as rowid from table where rowid <=endindex )   

where rowid > startindex

不同資料庫分頁

oracle分頁 分頁的宗旨是控制查詢出來的資料個數,下面這條語句對於oracle分頁已經足夠了。注 該語句只能用於oracle select from select aa.rownum rn from select from users order by id desc aa where rown...

不同資料庫的分頁技術

針對不同的資料庫,分頁的實現方法是不一樣的。oracle分頁技術 oracle資料庫為我們提供了兩個很重要的字段 rowid和rownumber。rowid是乙個絕對的值,是針對某一行分配的乙個唯一的行識別符號,根據它我們可以非常迅捷地定位到某乙個具體的行。它也起著主鍵的作用,即它是唯一的 uniq...

資料庫實現分頁

寫乙個資料庫通用的分頁功能,對於乙個專案來說這個是很實用的功能,可以自己封裝成jar包來使用 首先來新建乙個工程,目錄如下 然後新建乙個 pager類,如下 package com.page.ben public class pager public pager int pagesize,int r...