首页 新闻 赞助 找找看

SQL 数据更新 希望直接更新,不建临时表 不删除

0
悬赏园豆:20 [已解决问题] 解决于 2013-05-03 09:45

数据更新(Update)
ID  num
1
1
1
2
2
2

希望得到结果
ID  num
1    1
1    2
1    3
2    1
2    2
2    3
求指导,根据ID自动编号

MissJacker的主页 MissJacker | 初学一级 | 园豆:59
提问于:2013-04-23 13:36
< >
分享
最佳答案
0

出事数据如上截图,下面执行关键语句:

update t_test t1 set num = (
       select num from (
              select rowid id,  row_number() over (partition by id order by id asc) num from t_test
       ) t2 where t1.rowid = t2. id  
);
commit;
/

执行结果如下截图:

收获园豆:20
寻梦丄天涯 | 菜鸟二级 |园豆:248 | 2013-04-25 01:43
其他回答(2)
0

你这个没有主键啊,这怎么更新呢?

雏菊之秋 | 园豆:162 (初学一级) | 2013-04-23 14:22
0

先去最小ID 再写个for 循环进行更新呗

书锦之路 | 园豆:111 (初学一级) | 2013-04-24 18:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册