1、sql語句分頁
1declare
@pageindex
int=12
declare
@pagesize
int=103
4select
*from
[t_student]5
orderby[
icreatedon
]desc
6 offset ((@pageindex
-1)*
@pagesize) rows fetch
next
@pagesize rows only
2、儲存過程排序分頁
1alter
proc
[dbo
].[p_pagination]2
@sql
nvarchar(max), --
自定義查詢sql語句
3@sortfield
nvarchar(max), --
分頁-排序字段
4@isascending
bit, --
分頁-0正序/1倒序
5@pagesize
int, --
分頁-每頁數量
6@pageindex
int, --
分頁-第幾頁
7@totalrecord
int output --
分頁-總數8as
910declare
@sqlstring
nvarchar(max)11
set@sqlstring='
select @totalrecord=count(*) from ( } ) as t0'12
set@sqlstring
=replace(@sqlstring,'
}',@sql)13
exec sp_executesql @sqlstring,n'
@totalrecord int output
', @totalrecord
output
14print
'總數:'+
convert(nvarchar(max), @totalrecord
) 15
16set
@sqlstring='
select * from ( } ) as t0 order by }} offset } rows fetch next } rows only'17
set@sqlstring
=replace(@sqlstring,'
}',@sql)18
set@sqlstring
=replace(@sqlstring,'
}',@sortfield)19
set@sqlstring
=replace(@sqlstring,'
}',case
when
@isascending=0
then
''else
'desc
'end)20
set@sqlstring
=replace(@sqlstring,'
}',(@pageindex
-1)*
@pagesize)21
set@sqlstring
=replace(@sqlstring,'
}',@pagesize)22
exec sp_executesql @sqlstring
2324
--呼叫
25--
declare @totalrecord int
26--
exec [dbo].[p_pagination] 'select * from t_user','createtime',0,10,1,@totalrecord output
27--
print @totalrecord
SQL Server 分頁查詢
ps,此文是純個人筆記 公司裡乙個專案裡用到了一種資料庫分頁查詢的方式 1 定義乙個臨時的table 這個table有乙個自增的之間id,和要查的資料表的主鍵id 2 再一次查詢,用id在分頁數段來and 一下結果 具體操作如下 定義個臨時表 temptable declare temptable ...
Sql Server分頁語句
分頁方案一 利用not in和select top分頁 語句形式 select top 10 from testtable where id not in select top 20 id from testtable order by id order by id select top 頁大小 f...
sql server實現分頁
sqlserver 的資料分頁 假設現在有這樣的一張表 create table test id int primary key not null identity,names varchar 20 然後向裡面插入大約1000條資料,進行分頁測試 假設頁數是10,現在要拿出第5頁的內容,查詢語句如下...