SQL Server使用row_number分頁的實(shí)現(xiàn)方法
本文為大家分享了SQL Server使用row_number分頁的實(shí)現(xiàn)方法,供大家參考,具體內(nèi)容如下
1、首先是
select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1
生成帶序號(hào)的集合
2、再查詢?cè)摷系?第 1 到第 5條數(shù)據(jù)
select * from (select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1) as temp where rowNumber between 1 and 5
完整的Sql語句
declare @pagesize int; declare @pageindex int; set @pagesize = 3 set @pageindex = 1; --第一頁 select * from (select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1) as temp where rowNumber between (((@pageindex-1)*@pagesize)+1) and (@pageindex*@pagesize) set @pageindex = 2; --第二頁 select * from (select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1) as temp where rowNumber between (((@pageindex-1)*@pagesize)+1) and (@pageindex*@pagesize) set @pageindex = 3; --第三頁 select * from (select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1) as temp where rowNumber between (((@pageindex-1)*@pagesize)+1) and (@pageindex*@pagesize) set @pageindex = 4;--第四頁 select * from (select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1) as temp where rowNumber between (((@pageindex-1)*@pagesize)+1) and (@pageindex*@pagesize)
下面我們來寫個(gè)存儲(chǔ)過程分頁
Alter Procedure PagePager
@TableName varchar(80),
@File varchar(1000),---
@Where varchar(500),---帶and連接
@OrderFile varchar(100), -- 排序字段
@OrderType varchar(10),--asc:順序,desc:倒序
@PageSize varchar(10), --
@PageIndex varchar(10) --
as
if(ISNULL(@OrderFile, '') = '')
begin
set @OrderFile = 'ID';
end
if(ISNULL(@OrderType,'') = '')
begin
set @OrderType = 'asc'
end
if(ISNULL(@File,'') = '')
begin
set @File = '*'
end
declare @select varchar(8000)
set @select = ' select ' + @File + ' from ( select *,ROW_NUMBER() over(order by ' + @OrderFile + ' '+ @OrderType + ') as ''rowNumber'' from ' + @TableName + ' where 1=1 ' + @Where + ' ) temp where rowNumber between (((' + @PageIndex + ' - 1) * ' + @PageSize + ')+1) and (' + @PageIndex + '*'+ @PageSize+')'
exec(@select)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)row_number分頁有所幫助。
相關(guān)文章
sql分組后二次匯總(處理表重復(fù)記錄查詢和刪除)的實(shí)現(xiàn)方法
這篇文章主要介紹了sql分組后二次匯總的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-02-02
Sql Server 索引使用情況及優(yōu)化的相關(guān)Sql語句分享
Sql Server 索引使用情況及優(yōu)化的相關(guān) Sql 語句,非常好的SQL語句,記錄于此,需要的朋友可以參考下2012-05-05
SQL 導(dǎo)入導(dǎo)出Excel數(shù)據(jù)的語句
從Excel文件中,導(dǎo)入數(shù)據(jù)到SQL數(shù)據(jù)庫中,很簡(jiǎn)單2009-11-11
Sql Server里刪除數(shù)據(jù)表中重復(fù)記錄的例子
這篇文章主要介紹了Sql Server里刪除數(shù)據(jù)表中重復(fù)記錄的例子,本文給出了3種操作方法,需要的朋友可以參考下2014-08-08
SQL中使用CONVERT函數(shù)轉(zhuǎn)換數(shù)據(jù)類型的簡(jiǎn)單實(shí)現(xiàn)方法
CONVERT函數(shù)是SQL中用于數(shù)據(jù)類型轉(zhuǎn)換的工具,允許將一個(gè)數(shù)據(jù)類型轉(zhuǎn)換為另一個(gè),如字符串轉(zhuǎn)數(shù)字或日期轉(zhuǎn)字符串,該函數(shù)的基本語法包括目標(biāo)數(shù)據(jù)類型、要轉(zhuǎn)換的表達(dá)式和可選的格式參數(shù),需要的朋友可以參考下2024-09-09
SQL Server數(shù)據(jù)復(fù)制到的Access兩步走
以下的文章主要描述的是把SQL Server數(shù)據(jù)復(fù)制到的Access數(shù)據(jù)庫中的實(shí)際操作步驟,以及對(duì)其在實(shí)際操作中要用到的代碼描述。2015-09-09
SQL Server數(shù)據(jù)誤刪的恢復(fù)和備份流程
在日常的數(shù)據(jù)庫管理中,數(shù)據(jù)的誤刪操作是難以避免的,為了確保數(shù)據(jù)的安全性和完整性,我們必須采取一些措施來進(jìn)行數(shù)據(jù)的備份和恢復(fù),本文將詳細(xì)介紹如何在 SQL Server 中進(jìn)行數(shù)據(jù)的備份和恢復(fù)操作,特別是在發(fā)生數(shù)據(jù)誤刪的情況下,需要的朋友可以參考下2024-07-07

