IT猫扑网文章教程

分类分类

Oracle 10g第N条记录取得

2015-06-28 00:00作者:网管联盟

  上次在谈前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可以提高效率,这里就不多说了。

展开全部

相关文章

说两句网友评论
    我要跟贴
    取消