sql语句的分页技术

alter proc T_categories
(
	@pageIndex int ,
	@pageCount int 
)
as
begin
select top (@pageCount) CategoryName
	from Categories
	 where Categories.CategoryName not in
		(select top ((@pageIndex-1)*@pageCount) CategoryName from Categories order by Categories.CategoryID) order by Categories.CategoryID

end

exec T_categories 2,2

select CategoryName from Categories order by CategoryID

这是rowNumber的分页技术

alter proc T_RowNumber
(
	@pageSize int,
	@pageIndex int
)
as 
begin
	with t_RowNumber 
	as
	(
		select ROW_NUMBER() over(order by Products.ProductID) as RowNum , * from Products
	)
	
	select * from t_RowNumber where RowNum >= ((@pageIndex-1) * @pageSize +1) and RowNum <= ( @pageIndex * @pageSize) order by ProductID
end

exec T_RowNumber 5, 2

你可能感兴趣的:(sql语句的分页技术)