当前位置: 代码迷 >> Oracle开发 >> 一个关于排序的sql,该怎么解决
  详细解决方案

一个关于排序的sql,该怎么解决

热度:85   发布时间:2016-04-24 06:43:31.0
一个关于排序的sql
表 a(id char;
      num number(10)) 行号

a    1
b    2
c    3
d    4

delete from a  where id = 'c';
commit;
现在表 a:
a    1
b    2
d    4
希望得到 a:
a    1
b    2
d    3

什么sql能实现?高人解答一下
------解决方案--------------------

update a set num =(
select rn from (select id, row_number() over (order by id) rn from a) a1
where a.id = a1.id);
  相关解决方案