SQL Server中有什么方法可以使结果从给定的偏移量开始?例如,在另一种类型的SQL数据库中,可以执行以下操作:
SELECT * FROM MyTable OFFSET 50 LIMIT 25
得到结果51-75。SQL Server中似乎不存在此构造。
如何在不加载我不关心的所有行的情况下完成此任务?谢谢!
我会避免使用SELECT *。指定您实际上想要的列,即使可能是全部。
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中的大型结果集有效地分页
通过大型结果集进行分页的更有效方法