小编典典

SQL Server中的行偏移

sql

SQL Server中有什么方法可以使结果从给定的偏移量开始?例如,在另一种类型的SQL数据库中,可以执行以下操作:

SELECT * FROM MyTable OFFSET 50 LIMIT 25

得到结果51-75。SQL Server中似乎不存在此构造。

如何在不加载我不关心的所有行的情况下完成此任务?谢谢!


阅读 314

收藏
2021-05-05

共1个答案

小编典典

我会避免使用SELECT *。指定您实际上想要的列,即使可能是全部。

SQL Server 2005以上版本

SELECT col1, col2 
FROM (
    SELECT col1, col2, ROW_NUMBER() OVER (ORDER BY ID) AS RowNum
    FROM MyTable
) AS MyDerivedTable
WHERE MyDerivedTable.RowNum BETWEEN @startRow AND @endRow

SQL Server 2000

通过SQL Server
2000中的大型结果集有效地分页

通过大型结果集进行分页的更有效方法

2021-05-05