取后4条纪录
select * from a (
SELECT duty_id, duty_Ftime, duty_Ltime, duty_man
FROM on_duty  ORDER by to_number(duty_id) desc 
) where rownum <5

解决方案 »

  1.   

    select * from a (
    SELECT duty_id, duty_Ftime, duty_Ltime, duty_man
    FROM on_duty  ORDER by to_number(duty_id) desc 
    ) a where rownum <5
      

  2.   

    其实这个就是一个select n的简单的例子,在网络上面很多这样的资料
    关于排序和rownum的关系
    你的语句是先去取4条,然后进行了排序
    而楼上的那个子查询的目的就是先排序,然后去取4条
    就是这样的区别,建议看看书,在机械工业出版社有很多经典的书。
      

  3.   

    select * from (SELECT duty_id, duty_Ftime, duty_Ltime, duty_man
    FROM on_duty  ORDER by to_number(duty_id) desc) where rownum <5;
      

  4.   

    没有错啊。
    disconnect;
    connect system/manager@.....;
    create table aaa as select * from scott.emp;
    commit;
    select * from aaa order by EMPNO asc
    select * from (select * from aaa order by EMPNO asc) a where rownum<5;     EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
          7369 SMITH      CLERK           7902 17-12月-80        800                    20
          7499 ALLEN      SALESMAN        7698 20-2月 -81       1600        300         30
          7521 WARD       SALESMAN        7698 22-2月 -81       1250        500         30
          7566 JONES      MANAGER         7839 02-4月 -81       2975                    20
          7654 MARTIN     SALESMAN        7698 28-9月 -81       1250       1400         30
          7698 BLAKE      MANAGER         7839 01-5月 -81       2850                    30
          7782 CLARK      MANAGER         7839 09-6月 -81       2450                    10
          7788 SCOTT      ANALYST         7566 19-4月 -87       3000                    20
          7839 KING       PRESIDENT            17-11月-81       5000                    10
          7844 TURNER     SALESMAN        7698 08-9月 -81       1500          0         30
          7876 ADAMS      CLERK           7788 23-5月 -87       1100                    20
          7900 JAMES      CLERK           7698 03-12月-81        950                    30
          7902 FORD       ANALYST         7566 03-12月-81       3000                    20
          7934 MILLER     CLERK           7782 23-1月 -82       1300                    10已选择14行。已用时间:  00: 00: 00.16     EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
          7369 SMITH      CLERK           7902 17-12月-80        800                    20
          7499 ALLEN      SALESMAN        7698 20-2月 -81       1600        300         30
          7521 WARD       SALESMAN        7698 22-2月 -81       1250        500         30
          7566 JONES      MANAGER         7839 02-4月 -81       2975                    20已用时间:  00: 00: 00.00