更新时间:2023-02-03 07:45:40
尝试:
WITH myTableWithRows AS (SELECT (ROW_NUMBER() OVER (ORDER BY myTable.SomeField)) as row,* FROM myTable)
SELECT * FROM myTableWithRows WHERE row BETWEEN 10 AND 100
或:
Or:
SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY OrderID) AS row FROM myTable ) AS myTableWithRows
WHERE myTableWithRows.row BETWEEN 10 AND 100
请参阅:
排名函数(Transact-SQL) [ ROW_NUMBER [
See this:
Ranking Functions (Transact-SQL)[^].
The one you want is ROW_NUMBER[^].
Hope this helps,
Pablo.
select * from (select *,row_number()over(order by cityid ) rowid from CityTable)T where rowid between 10 and 100