select id,pos,rownum value from (
select * rom tbname order by pos);

解决方案 »

  1.   

    update tbname a set values=(select r from (select rownum r,id  from tbname order by pos) b where a.id = b.id)
      

  2.   

    写在里面什么意思,是不是要更新还是只要显示?
    如果只要显示
    select * from (
       select id,pos,value||rownum value from tbname order by pos);
    不知道你是不是这个意思?
      

  3.   

    update tab a set values=(select rownum from (select rownum,id from tab order by pos) b where a.id=b.id))
      

  4.   

    我想通过pos排序,然后得到行号,把行号写在每一行纪录的value里面
      

  5.   

    update table_name a
    set value = (select rn 
                 from (select rownum rn,id from table_name order by pos) b
                 where a.id = b.id
                )