现有表:
    ROWNUM      EMPNO ENAME      HIREDATE          SAL
---------- ---------- ---------- ---------- ----------
         1       7369 SMITH      17-12月-80        800
         2       7900 JAMES      03-12月-81        950
         3       7876 ADAMS      23-5月 -87       1100
         4       7521 WARD       22-2月 -81       1250
         5       7654 MARTIN     28-9月 -81       1250
         6       7934 MILLER     23-1月 -82       1300
         7       7844 TURNER     08-9月 -81       1500
         8       7499 ALLEN      20-2月 -81       1600
         9       7782 CLARK      09-6月 -81       2450
现要查询出来显示成:
    ROWNUM      EMPNO ENAME      HIREDATE          SAL
---------- ---------- ---------- ---------- ----------
         1       7369 SMITH      17-12月-80        800
         2       7900 JAMES      03-12月-81        950
         3       7876 ADAMS      23-5月 -87       1100
         4       7521 WARD       22-2月 -81       1250
         4       7654 MARTIN     28-9月 -81       1250
         6       7934 MILLER     23-1月 -82       1300
         7       7844 TURNER     08-9月 -81       1500
         8       7499 ALLEN      20-2月 -81       1600
         9       7782 CLARK      09-6月 -81       2450
其中ROWNUM是伪列,其余是字段名;
如何实现??请教高手!!!!!

解决方案 »

  1.   

    楼主意思写的不清楚啊,如果你只是要一张表显示出序号这一列(本身表没有的)
    select rownum,a.* from table a
      

  2.   

    现有表:
        ROWNUM      EMPNO ENAME      HIREDATE          SAL
    ---------- ---------- ---------- ---------- ----------
             1       7369 SMITH      17-12月-80        800
             2       7900 JAMES      03-12月-81        950
             3       7876 ADAMS      23-5月 -87       1100
             4       7521 WARD       22-2月 -81       1250
             5       7654 MARTIN     28-9月 -81       1250
             6       7934 MILLER     23-1月 -82       1300
             7       7844 TURNER     08-9月 -81       1500
             8       7499 ALLEN      20-2月 -81       1600
             9       7782 CLARK      09-6月 -81       2450
    现要查询出来显示成:
        ROWNUM      EMPNO ENAME      HIREDATE          SAL
    ---------- ---------- ---------- ---------- ----------
             1       7369 SMITH      17-12月-80        800
             2       7900 JAMES      03-12月-81        950
             3       7876 ADAMS      23-5月 -87       1100
             4       7521 WARD       22-2月 -81       1250
             4       7654 MARTIN     28-9月 -81       1250
             5       7934 MILLER     23-1月 -82       1300
             6       7844 TURNER     08-9月 -81       1500
             7       7499 ALLEN      20-2月 -81       1600
             8       7782 CLARK      09-6月 -81       2450
    我写错了,根据sal排序号,如果有相同的不计序号.
      

  3.   

    select dense_rank() over (order by sal),rank() over (order by sal),empno,ename,hiredate,sal from table a;
    你实验下,我不好试。dense_rank 是相同的不计序号。rank 是相同的计入序号。如果问题解决了记得给分!!!!!!!
      

  4.   

    select * from table order by sal asc
      

  5.   

    fenixshadow() ( ) 回答正确
    加20分
      

  6.   

    select rownum,a.* from(
    select  EMPNO,ENAME,HIREDATE,SAL from scott.emp
    order by sal
    ) a