不同資料庫中的分頁查詢方法

2021-05-05 12:10:58 字數 1110 閱讀 8969

在實際應用中,往往能碰到分頁的需求。雖然有不少元件可以實現物件導向的分頁,但是都是利用了快取。很多時候,這些方法是不可用的。原因很簡單,在乙個資料量非常大的應用中,快取全部資料無論是對網路傳輸還是對記憶體都是不小的浪費。所以,還是回歸自然吧,利用分頁查詢來獲取當前頁的資料為妙。

a.mysql資料庫:

select * from table_name order by column_name limit m,n

結果返回的是第m+1行到第n行的資料集。比如:

select * from table_name orader by column_name limit 1,5

返回的是第2行到第5行的資料集

b.sqlserver資料庫

select * from

(select top m * from

(select top n * from table_name) as a

order by column_name desc

) border by column_name

獲得的結果集資料為第n-m+1行到第n行。

對整個過程的解釋:首先按照公升序得到前n行的結果集a,然後按照降序從a中得到後m行的結果集b,最後按照公升序對b進行重新排序,返回結果集。比如:

select * from

(select top 5 * from

(select top 10 * from table_name) as a

order by column_name desc

) b的意思就是返回包含第6行到第10行的資料結果集。

c.oracle資料庫:

select * from (select rownum r,* from table_name) a

where a.r>m and a.r<=n

結果返回的是第m+1行到第n行的資料集。比如:

select * from (select rownum r,* from table_name) a

where a.r>5 and a.r<=10  

的意思就是返回包含第6行到第10行的資料結果集。

不同資料庫中的分頁查詢方法

不同資料庫中的分頁查詢方法 在實際應用中,往往能碰到分頁的需求。雖然有不少元件可以實現物件導向的分頁,但是都是利用了快取。很多時候,這些方法是不可用的。原因很簡單,在乙個資料量非常大的應用中,快取全部資料無論是對網路傳輸還是對記憶體都是不小的浪費。所以,還是回歸自然吧,利用分頁查詢來獲取當前頁的資料...

不同資料庫中的分頁查詢方法

在實際應用中,往往能碰到分頁的需求。雖然有不少元件可以實現物件導向的分頁,但是都是利用了快取。很多時候,這些方法是不可用的。原因很簡單,在乙個資料量非常大的應用中,快取全部資料無論是對網路傳輸還是對記憶體都是不小的浪費。所以,還是回歸自然吧,利用分頁查詢來獲取當前頁的資料為妙。a.mysql資料庫 ...

資料庫分頁查詢方法

在這裡主要講解一下 mysql sqlserver2000 及sqlserver2005 和orcale三種 資料庫實現 分頁 查詢的方法。可能會有人說這些網上都有,但我的主要目的是把這些知識通過我實際的應用總結歸納一下,以方便大家查詢使用。下面就分別給大家介紹 講解一下三種資料庫實現分頁查詢的方法...