sqlserver中可以用top n 的方法,oracle中用rownum,但如果只用rownum会随机取数据,如果想按一定顺序取前几条数据
则可这样写:select * from (select 列 from 表 where 条件 order by 列 desc) where rownum<列数
select * from (select rownum r ,* from test) tt
where tt.r > 50 and tt.r <= 100; (最好用PLSQL游标来解决)
这样子写是会全表扫描的的,小的表不觉得会有多慢,数据量大了你就知道有多不好了,改成这样就不会了
select t.*,rownum r from test t where r>50 and r<=100