sqlserver 分页查询
时间: 2023-05-23 08:06:35 浏览: 108
A:SQL Server 分页查询可以使用 OFFSET-FETCH 语句来实现。 OFFSET-FETCH 语句需要两个参数,OFFSET 则是指要跳过的行数,FETCH 则是指要返回的行数。
例如:
```
SELECT column1, column2, ...
FROM table
ORDER BY column
OFFSET (pageNum - 1) * pageSize ROWS
FETCH NEXT pageSize ROWS ONLY;
```
其中 pageNum 是指当前的页码,pageSize 是指每一页要显示的行数。这个查询语句将会跳过 (pageNum - 1) * pageSize 条记录,然后返回 pageSize 条记录,即实现了分页查询的功能。
需要注意的是,OFFSET-FETCH 语句只能在 SQL Server 2012 及以上版本中使用。如果你正在使用旧版的 SQL Server,可以使用类似下面的语句来实现分页查询:
```
SELECT TOP pageSize column1, column2, ...
FROM (SELECT ROW_NUMBER() OVER (ORDER BY column) AS RowNum, column1, column2, ...
FROM table) AS RowConstrainedResult
WHERE RowNum > (pageNum - 1) * pageSize
ORDER BY RowNum;
```
这个语句首先将查询结果使用 ROW_NUMBER() 函数进行编号,然后筛选出需要的行数。同样的,pageNum 和 pageSize 分别指定了当前页码和每一页要显示的行数。
阅读全文