在行之间循环和复制数据

时间:2012-06-25 14:18:58

标签: mysql

我有一个简单而困难的问题。 我有以下表结构:

I D indx_1 indx_2 indx_3
1 val_1 val_2 val_3
1 val_1 val_2 val_3
1 val_1 val_2 val_3
2 val_4 val_5 val_6
2 val_4 val_5 val_6
2 val_4 val_5 val_6

并希望得到如下结果:

I D indx_1 indx_2 indx_3
1 val_1 val_2 val_3
1 val_2 val_2 val_3
1 val_3 val_2 val_3
2 val_4 val_5 val_6
2 val_5 val_5 val_6
2 val_6 val_5 val_6

感谢addvance。

1 个答案:

答案 0 :(得分:1)

select id, 
       concat('val_', @row := @row + 1) as idx_1, 
       idx_2, 
       idx_3
from your_table, 
     (SELECT @row := 0) r