Heim  >  Artikel  >  Datenbank  >  數據分頁的實現

數據分頁的實現

WBOY
WBOYOriginal
2016-06-07 17:38:38989Durchsuche

數據分頁的實現 工作了半年,自己了解了幾種數據分頁的方法,下面來分享下,有什麽好的方法可以指導一下哦.. 方法一:利用ROW_NUMBER()方法 利用ROW_NUMBER 產生序列后直接取出 declare @Count declare @Page @Count=top 10 * from ( select * ,ROW_NUMBER

數據分頁的實現

工作了半年,自己了解了幾種數據分頁的方法,下面來分享下,有什麽好的方法可以指導一下哦..

 

方法一:利用ROW_NUMBER()方法

利用ROW_NUMBER 產生序列后直接取出

 

declare @Count declare @Page @Count=top 10 * from (select *,ROW_NUMBER() over(order by t1.TestA ) as RowNumber from (select * from Test)t1) A where A.RowNumber>(@Count*@Page)

這個還有一個問題,查詢結果會多產生一個 RowNumber欄位,需要另外的去除或無視..

方法二:排序的方法

例如我們每頁查詢出10條數據,要查詢第4頁,,我們是先正序查出前40條數據,在倒序查詢前10條,在倒序改變為正確的順序

Create procedure [dbo].[page] @pageSize int, @pageNumber int as begin declare @totalNumber int set @totalNumber=@pageSize*@pageNumber select top (@totalNumber) * into #pagetable from Test order by TestA asc select top (@pageSize)* from #pagetable order by TestA desc /*需要再倒序一次*/...
end

第二種方法比第一種麻煩,但是有這個想法就okl了

posted on

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:MS SQL专用管理员连接DACNächster Artikel: RedGate 工具SQLTEST 1.0.15.1