上次在谈前N条记录取得时给大家留了这个问题当然这个问题本身是非常简单的只要先去前N条再对结果进行逆序最后取第一条就OK了Easy吧
具体SQL如下
SELECT * FROM
( SELECT * FROM
( SELECT * FROM
( SELECT EMPNO ENAME HIREDATE
FROM SCOTTEMP
ORDER BY HIREDATE ASC )
WHERE ROWNUM < )
ORDER BY HIREDATE DESC )
WHERE ROWNUM < ;
执行结果
EMPNO ENAME HIREDATE
BLAKE
虽然上面的SQL可以解决这个问题但是使用了个Order by子句而Order by子句是比较耗时的相信大家都知道Cursor用Cursor可以提高效率这里就不多说了