在SQL Server中偏移行
標準SQL語法不直接支援從指定偏移量開始檢索結果。與提供OFFSET子句的其他資料庫系統不同,SQL Server需要不同的方法來實作類似的功能,而不會提取不必要的行。
SQL Server 2005及更高版本
對於2005及更高版本,您可以使用ROW_NUMBER()函數結合衍生表和WHERE子句來高效率地偏移結果。範例如下:
<code class="language-sql">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</code>
在此查詢中,ROW_NUMBER()函數會根據ID列為每一行分配一個順序號,確保正確的排序。
SQL Server 2000
對於SQL Server 2000,您可以探索其他技術,例如:
以上是如何在SQL Server中高效率實現行偏移?的詳細內容。更多資訊請關注PHP中文網其他相關文章!