数据库现在有id为1 2 6 8 26 999 等若干条数据,怎么才能让他们的ID往前面靠 不要有间隔

我纯洁全身都纯洁 2014-02-24 10:54:07
数据库现在有某字段为1 2 6 8 26 68 155 ... 等若干条数据,怎么才能让他们的ID往前面靠 不要有间隔
就是更新后让他们成为1 2 3 4 5 6 7
该字段原数据是有序的 从小到大
...全文
162 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
_拙计 2014-02-24
  • 打赏
  • 举报
回复
额 表名- -
update A t1
   set col =
       (select rn
          from (select col, rownum rn from A order by col) t2
         where t1.col = t2.col)
_拙计 2014-02-24
  • 打赏
  • 举报
回复
update A t1
   set col =
       (select rn
          from (select col, rownum rn from mm order by col) t2
         where t1.col = t2.col)
流浪川 2014-02-24
  • 打赏
  • 举报
回复
引用 8 楼 hidanger521 的回复:
update 表 set 字段=rownum order by 字段
对不起,失误,你是要按照原来的顺序更新的话,可能还要完善一下。 给你提供点思路,就是使用个rownum进行更新
流浪川 2014-02-24
  • 打赏
  • 举报
回复
update 表 set 字段=rownum order by 字段
水猿兵团五哥 2014-02-24
  • 打赏
  • 举报
回复
我想你现在表字段的类型不是数字类型,是字符,所以排序不是按照数字类型 如果要按照数字类型排序,首先要转换数字类型然后排序 去空格后to_number select ID from TB order by to_number(trim(id))
study73 2014-02-24
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
难道要更新正常表的A字段 从小到大再更新一遍吗
ray_suen 2014-02-24
  • 打赏
  • 举报
回复
1 添加字段,然后update字段,使用plsql循环自增长。 2 然后删除当前字段, 3 修改添加字段名
  • 打赏
  • 举报
回复
就是把数字的间隔消除 假如表里面的字段是 A 1 3 6 9 55 更新后是 A 1 2 3 4 5
___________小P 2014-02-24
  • 打赏
  • 举报
回复
升序排列啊。
  • 打赏
  • 举报
回复
怎么才能让他们的ID往前面靠 这句话搞错了。 怎么才能让该字段往前面靠
-江沐风- 2014-02-24
  • 打赏
  • 举报
回复
添加一个字段,然后update!

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧