更新时间:2023-12-01 10:57:52
更新 如果您使用的是 SQL 2012,则添加了新语法以使其变得非常简单.请参阅使用此查询实现分页(跳过/获取)功能
UPDATE If you you are using SQL 2012 new syntax was added to make this really easy. See Implement paging (skip / take) functionality with this query
我想最优雅的是使用 ROW_NUMBER 函数(可从 MS SQL Server 2005 获得):
I guess the most elegant is to use the ROW_NUMBER function (available from MS SQL Server 2005):
WITH NumberedMyTable AS
(
SELECT
Id,
Value,
ROW_NUMBER() OVER (ORDER BY Id) AS RowNumber
FROM
MyTable
)
SELECT
Id,
Value
FROM
NumberedMyTable
WHERE
RowNumber BETWEEN @From AND @To