向表中插入数据,赋给相同主键一个序号,赋给同一个主键下的多条记录一个从一递增的序号

数据农夫 2012-05-22 11:10:48
例如:

item1 item2 name subject
1 1 lily maths
1 2 lily english
1 3 lily chinese
2 1 lucy maths
2 2 lucy english


现有的数据位

lily maths
lily english
lily chinese
lucy maths
lucy english
...全文
126 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
talentwing 2012-05-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
SQL code

insert into table (item1, item2, name, subject)
select tt.item1 , rank() over(partition by tt.rr order by tt.tml_type_cd,tt.tml_id) as item2, tt.name , tt.subject from (select dense_rank(……
[/Quote]

呃,写错了....因为用的是我自己的表....改的时候没改完...
rank() over(partition by tt.rr order by tt.tml_type_cd,tt.tml_id) as item2
改成
rank() over(partition by tt.rr order by tt.name,tt.subject) as item2
talentwing 2012-05-22
  • 打赏
  • 举报
回复

insert into table (item1, item2, name, subject)
select tt.item1 , rank() over(partition by tt.rr order by tt.tml_type_cd,tt.tml_id) as item2, tt.name , tt.subject from (select dense_rank() over(order by t.name ) as item1,t.name,t.subject from table1 t ) tt;
iqlife 2012-05-22
  • 打赏
  • 举报
回复
rank()函数试试

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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