为了账号安全,请及时绑定邮箱和手机立即绑定

如何在SQL Server 2008中进行分页

如何在SQL Server 2008中进行分页

慕桂英4014372 2019-11-18 10:06:07
您如何在SQL Server 2008中进行分页?
查看完整描述

3 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

您可以尝试类似


DECLARE @Table TABLE(

        Val VARCHAR(50)

)


DECLARE @PageSize INT,

        @Page INT


SELECT  @PageSize = 10,

        @Page = 2


;WITH PageNumbers AS(

        SELECT Val,

                ROW_NUMBER() OVER(ORDER BY Val) ID

        FROM    @Table

)

SELECT  *

FROM    PageNumbers

WHERE   ID  BETWEEN ((@Page - 1) * @PageSize + 1)

        AND (@Page * @PageSize)


查看完整回答
反对 回复 2019-11-18
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

您可以使用ROW_NUMBER():


返回结果集分区中一行的序号,从每个分区中第一行的1开始。


例:


WITH CTEResults AS

(

    SELECT IDColumn, SomeField, DateField, ROW_NUMBER() OVER (ORDER BY DateField) AS RowNum

    FROM MyTable

)


SELECT * 

FROM CTEResults

WHERE RowNum BETWEEN 10 AND 20;


查看完整回答
反对 回复 2019-11-18
  • 3 回答
  • 0 关注
  • 836 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信