Oracle 10g 第N条记录取得

 上次在谈前N条记录取得时,给大家留了这个问题。当然,这个问题本身是非常简单的,只要先去前N条,

再对结果进行逆序,最后取第一条就OK了,Easy吧

 具体SQL如下:

SELECT * FROM
SELECT * FROM
SELECT * FROM
SELECT EMPNO, ENAME, HIREDATE
FROM SCOTT.EMP
ORDER BY HIREDATE ASC )
WHERE ROWNUM < 6 )
ORDER BY HIREDATE DESC )
WHERE ROWNUM < 2;
 
执行结果:
     EMPNO ENAME      HIREDATE
---------- ---------- --------
      7698 BLAKE      81-05-01

 

 虽然上面的SQL可以解决这个问题,但是使用了2个Order by子句,而Order by子句是比较耗时的,

相信大家都知道Cursor,用Cursor可以提高效率,这里就不多说了。

 

posted on 2010-06-02 16:04  flycatorg  阅读(306)  评论(0编辑  收藏  举报

导航