也即现在如:
select empid,empname from emptab
结果为:
25001  张三
28007  李四
29335  王五
38620  刘志我想在结果集中增加一个"序号"的虚列,想要的结果如:
1  25001  张三
2  28007  李四
3  29335  王五
4  38620  刘志请问这样的sql语句应如何写,谢谢.

解决方案 »

  1.   

    select rownum,empid,empname from emptab
      

  2.   

    谢谢hebo,是这样的.但又存在一个新问题了.
    如果我按empid,或empname排序的话,如:
    select rownum,empid,empname from emptab order by empid这样结果会出现如下的现像:
    3  25001  张三
    1  28007  李四
    4  29335  王五
    2  38620  刘志即它不是在我经过排序后的结果集进行顺序加1的.请再指点,谢谢.
      

  3.   

    select rownum over (order by empid) , empid,empname from emptab order by empid或者这条语句也行的
    select rownum ,a.* from( select empid,empname from emptab order by empid) a
      

  4.   

    第一句有点错误,应该是
    select rownum() over (order by empid) rownum , empid,empname from emptab order by empid
      

  5.   

    上面这句我运行通不过呀.提示:'ora-00923:未找到预期from关键字'我的是oracle 9.2版的,请问你的是什么版本的?谢.
      

  6.   

    你好,用你的这句搞定了.
    select rownum ,a.* from( select empid,empname from emptab order by empid) a非常感谢.周一结贴.
      

  7.   

    楼上这种写法是SQL1999的标准写法,希望多用SQL99标准语法
      

  8.   

    select rownum over (order by empid) , empid,empname from emptab order by empid
    这句是我写错了,今天试了下,应该是
    select row_number() over (order by empid) , empid,empname from emptab order by empid
      

  9.   

    我试了,完全正确.
    非常感谢hebo
      

  10.   

    哎呀,这真是个好帖子,让我都忍不住回帖。hebo2005和yikeshu_888帮了大忙了。