方法一、
alter procedure PagedQuery
(
@size int, 頁大小
@pageIndex int 頁索引
)
as
select top (@size) * from class where classid not in (select top(@size*@pageIndex) classid from class order by classid)
go
exec PagedQuery 3,0
方法二、
create procedure PagedQuery2
(
@size int,
@pageIndex int
)
as
select a.* from (select *,ROW_NUMBER() over(order by classid asc) as RowNo from class) as a
where RowNo between (@size* @pageIndex+1) and (@size* (@pageIndex+1))
go
exec PagedQuery2 4,0
(注:分組分頁查詢,row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根據COL1分組,在分組內部根據 COL2排序,而此函數計算的值就表示每組內部排序後的順序編號(組內連續的唯一的))