|
最初由 baid 发布
[B]楼上说的才是原因吧!用ORDER BY 是不能使用ROWNUM的 [/B]
,不明白!为什么ORDER BY 时不能用ROWNUM ??
SQL> select rownum,rwm,empno,ename,job,hiredate,sal from (
2 select rownum rwm,empno,ename,job,mgr,hiredate,sal,deptno from emp order by hiredate desc
3 ) a
4 ;
ROWNUM RWM EMPNO ENAME JOB HIREDATE SAL
---------- ---------- ---------- ---------- --------- --------- ----------
1 11 7876 ADAMS CLERK 23-MAY-87 1100
2 8 7788 SCOTT ANALYST 19-APR-87 3000
3 14 7934 MILLER CLERK 23-JAN-82 1300
4 12 7900 JAMES CLERK 03-DEC-81 950
5 13 7902 FORD ANALYST 03-DEC-81 3000
6 9 7839 KING PRESIDENT 17-NOV-81 5000
7 5 7654 MARTIN SALESMAN 28-SEP-81 1250
8 10 7844 TURNER SALESMAN 08-SEP-81 1500
9 7 7782 CLARK MANAGER 09-JUN-81 2450
10 6 7698 BLAKE MANAGER 01-MAY-81 2850
11 4 7566 JONES MANAGER 02-APR-81 2975
ROWNUM RWM EMPNO ENAME JOB HIREDATE SAL
---------- ---------- ---------- ---------- --------- --------- ----------
12 3 7521 WARD SALESMAN 22-FEB-81 1250
13 2 7499 ALLEN SALESMAN 20-FEB-81 1600
14 1 7369 SMITH CLERK 17-DEC-80 800
14 rows selected.
SQL> select rownum,rwm,empno,ename,job,hiredate,sal from (
2 select rownum rwm,empno,ename,job,mgr,hiredate,sal,deptno from emp order by hiredate desc
3 ) a
4 where rownum=1;
ROWNUM RWM EMPNO ENAME JOB HIREDATE SAL
---------- ---------- ---------- ---------- --------- --------- ----------
1 11 7876 ADAMS CLERK 23-MAY-87 1100 |
|