select * from (select ROW_NUMBER() over (order by Amount) as RowNumber,* from tbOrder) TB
where TB.RowNumber between 1000000 and 1000060
或者 用 Top N 形式。
select top 60 * from (select ROW_NUMBER() over (order by Amount) as RowNumber,* from tbOrder) TB
where TB.RowNumber > 1000000
在一秒之内。
临时视图。执行完 OrderResults 就不存在了。
WITH OrderedResults AS
(SELECT *, ROW_NUMBER() OVER (order by Amount) as RowNumber FROM tbOrder)
select * from OrderedResults WHERE RowNumber between 100000 and 100060