SqlServer 几种分页方法比较

一. SqlServer 2005及以上版本分页使用 Row_Number()(分页并返回总行数)
Declare @PageSize int,@PageIndex int  
Set @PageSize = 5  
Set @PageIndex = 1  
Select * From (  
    Select Row_Number() over (order by CreateTime Desc) RowNum,Id,Name,Tel,
			[Address],Pwd,Email,Gender,COUNT(*) OVER(PARTITION BY '') AS Total 
	From [dbo].UserInfo With(Nolock) Where Name Like '%%'
) A  
Where  A.RowNum between (((@PageIndex-1)*@PageSize)+1) and (@PageIndex*@PageSize)
 
 二. SqlServer 2012及以上版本分页(分页并返回总行数) 
 
Declare @PageSize int, @PageIndex int  
Set @PageSize = 5
Set @PageIndex = 1
Select Id,Name,Tel,Address,Pwd,Email,Gender,COUNT(*) OVER(PARTITION BY '') AS Total 
From dbo.UserInfo With(Nolock)
Where Name like '%%'
Order by CreateTime Desc
OFFSET (@PageIndex-1)*@PageSize Rows  
FETCH NEXT @PageSize ROWS ONLY; 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值