2024年3月19日发(作者:)

sqlserver分页sql语句

在 SQL Server 中实现分页功能,可以使用ROW_NUMBER()函数或OFFSET FETCH子句。

下面分别介绍两种方法。

1.使用ROW_NUMBER()实现分页。

使用ROW_NUMBER()函数可以给每行数据加上一个序号,然后根据序号来实现分页功能。

SELECT*FROM。

SELECT ROW_NUMBER() OVER(ORDER BY ID ASC) AS RowNumber, * FROM

TABLE_NAME 。

AS TempTable 。

WHERE RowNumber BETWEEN (PageIndex-1)*PageSize+1 AND

PageIndex*PageSize 。

ORDER BY RowNumber 。

解析:

-ROW_NUMBER()函数按照ID升序排列,为每行数据加上一个序号。

- 将带有序号的结果集作为临时表TempTable。

- 在TempTable中通过WHERE子句过滤出指定页数的数据。

-最后按照序号重新排序输出结果。

2.使用OFFSETFETCH实现分页。

使用OFFSETFETCH子句可以直接指定要跳过的行数和要获取的行数来实现分页功能。

SELECT*FROMTABLE_NAME。

ORDERBYIDASC。

OFFSET (PageIndex-1)*PageSize ROWS 。

FETCH NEXT PageSize ROWS ONLY。

解析:

-使用ORDERBY子句按照ID升序排列。

-使用OFFSET子句指定跳过的行数,从而定位到指定页数的起始数据行。

-使用FETCH子句指定要获取的行数,即每页显示的数据量。

-输出结果。

注:PageIndex为指定的页码,PageSize为每页要显示的数据量。