在 SQL Server 中,可以使用 OFFSET FETCH 子句来实现分页。

语法:

SELECT column1, column2, ...
FROM table_name
ORDER BY column_name
OFFSET start_row_number ROWS
FETCH NEXT page_size ROWS ONLY;

其中,start_row_number 表示开始行号,page_size 表示每页的行数。

例如,要查询表中前 10 条记录:

SELECT TOP 10 column1, column2, ...
FROM table_name
ORDER BY column_name;

要查询第 11 至 20 条记录:

SELECT column1, column2, ...
FROM table_name
ORDER BY column_name
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY;

注意,OFFSET FETCH 子句只能用于 SQL Server 2012 及以上版本。如果使用较旧的版本,可以使用 ROW_NUMBER() 函数实现分页。例如:

SELECT *
FROM (
    SELECT ROW_NUMBER() OVER (ORDER BY column_name) AS row_num, column1, column2, ...
    FROM table_name
) AS temp
WHERE row_num BETWEEN start_row_number AND end_row_number;
实现sqlserver方法分页

原文地址: https://www.cveoy.top/t/topic/boo5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录