2015-11-19 45 views
0

我有一个表,包含一个数x列(C5),我需要的是重复了同一行x个SQL表达式:在Mysql中生成系列,如何在查询中添加自动增量?

我的表A中包含:

c1 c2 c3 c4 c5 
16 1 2 16 3 
16 1 2 17 2 
16 1 2 18 1 

而且我需要:

c1 c2 c3 c4 c5 n 
16 1 2 16 3 1 
16 1 2 16 3 2 
16 1 2 16 3 3 
16 1 2 17 2 1 
16 1 2 17 2 2 
16 1 2 18 1 1 
+0

相关d:http://stackoverflow.com/questions/33810984/select-number-into-multiple-rows/33811186#33811186 –

+0

看到正常化。 – Strawberry

回答

0

我解决了与SQL表达式:

SELECT 
    c1, c2, c3, c4, c5, row_number AS n 
FROM 
    (
     SELECT 
      @curRow := @curRow + 1 AS row_number 
     FROM 
      tablea 
     JOIN (SELECT @curRow := 0) r 
     WHERE 
      @curRow < (
       SELECT 
        max(c5) 
       FROM 
        tablea 
      ) 
    ) AS vwtable2 
LEFT JOIN tablea d ON vwtable2.row_number <= tablea.c5; 
+1

“场地1”未包含在OP中提供的样本数据中。这是另一列吗? –

+0

感谢yur评论,我更新了SQL查询,field1是列c5,其中包含次数 –

相关问题