select * from ( select rownum num,a.* from tablename a )where num>=20 and num<=40
select top 20 id from table where id not in(select top 40 id from table order by time desc)你再看看,这永远是找到1-20的记录啊,而不是40-60的记录,更改: select top 20 id from table order by id desc
方法:用RowNum来限制取数行数
select rownum num,a.*
from tablename a
)where num>=20 and num<=40
select top 20 id from table order by id desc