Versatzzeilen in SQL Server
Die Standard-SQL-Syntax unterstützt das Abrufen von Ergebnissen ab einem angegebenen Offset nicht direkt. Im Gegensatz zu anderen Datenbanksystemen, die eine OFFSET-Klausel bereitstellen, erfordert SQL Server einen anderen Ansatz, um eine ähnliche Funktionalität zu erreichen, ohne unnötige Zeilen zu extrahieren.
SQL Server 2005 und höher
Für 2005 und höher können Sie die Funktion ROW_NUMBER() in Kombination mit einer abgeleiteten Tabelle und einer WHERE-Klausel verwenden, um die Ergebnisse effizient zu verrechnen. Ein Beispiel ist wie folgt:
<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>
In dieser Abfrage weist die Funktion ROW_NUMBER() jeder Zeile basierend auf der ID-Spalte eine Sequenznummer zu, um eine korrekte Sortierung sicherzustellen.
SQL Server 2000
Für SQL Server 2000 können Sie andere Technologien erkunden, wie zum Beispiel:
Das obige ist der detaillierte Inhalt vonWie implementiert man Zeilenoffsets in SQL Server effizient?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!