如何添加子序号?

liu_song99 2002-08-22 05:43:38
一个表中有两个字段,一个是main_id,另一个是sub_id
main_id都已经存在,对应的sub_id都是空
如果main_id一样,对应的sub_id顺序生成,如下表
main_id sub_id
1 1
1 2
1 3
2 1
2 2

现在的算法(PL/sql)耗时太多,向高手请教比较高效的算法

...全文
55 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jlandzpa 2002-08-22
  • 打赏
  • 举报
回复
create tmp as ........
trunc old_tab;
insert into old_tab select * from tmp ;
hdkkk 2002-08-22
  • 打赏
  • 举报
回复
不知道他要得是不是这样的结果?
jlandzpa 2002-08-22
  • 打赏
  • 举报
回复
17:51:29 jlanzpa817>select main_id,rank() over (partition by main_id order by rownum) sub_id
17:52:07 2 from tests
17:52:07 3 ;

MAIN_ID SUB_ID
---------- ----------
1 1
1 2
1 3
2 1
2 2

已用时间: 00: 00: 00.20
jlandzpa 2002-08-22
  • 打赏
  • 举报
回复
select main_id,rank() over (partition by main_id order by rownum) sub_id from tablename;

17,377

社区成员

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

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