这个是Oracle分析函数的事情如果要做到很细致的话,必须使用分析函数粗糙一点可以用如下类似的方法: IDLE> edit 已写入文件 afiedt.buf 1 SELECT * FROM 2 ( SELECT ename FROM emp order by sal ) 3* WHERE rownum <= 20 IDLE> /ENAME -------------------- SMITH JAMES ADAMS WARD MARTIN MILLER TURNER ALLEN CLARK BLAKE JONES SCOTT FORD KING已选择14行。IDLE> SHOW USER USER 为"SCOTT" IDLE>
select * from table_name where rownum <= (select count(*)-20 from table_name);
select * from (select rownum rm,a.* from table_name a) where rm<=30 and rm>=5; 取不出第5--30 行的记录
IDLE> edit
已写入文件 afiedt.buf 1 SELECT * FROM
2 ( SELECT ename FROM emp order by sal )
3* WHERE rownum <= 20
IDLE> /ENAME
--------------------
SMITH
JAMES
ADAMS
WARD
MARTIN
MILLER
TURNER
ALLEN
CLARK
BLAKE
JONES
SCOTT
FORD
KING已选择14行。IDLE> SHOW USER
USER 为"SCOTT"
IDLE>
(select count(*)-20 from table_name);
取不出第5--30 行的记录