mysql将一行变成多行的方法

mysql将一行变成多行的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

mysql将一行变成多行的方法:1、将一行变成多行,代码为【substring_index(substring_index( a.rn,',',b.help_topic_id + 1    ),',' ,- 1)】;2、将多列变成多行。

mysql将一行变成多行的方法:

mysql将一行变成多行的方法

转成

mysql将一行变成多行的方法

SELECT
    substring_index(substring_index( a.rn,',',b.help_topic_id + 1    ),',' ,- 1) AS rn
FROM
    (select '1,2,3,4' as rn) a  
JOIN mysql.help_topic b ON b.help_topic_id <
(length(a.rn) - length( replace(a.rn, ',', '')  ) + 1)

图A转成图B

mysql将一行变成多行的方法

图a

mysql将一行变成多行的方法

图b

SELECT
    substring_index(substring_index( a.rn,',',b.help_topic_id + 1    ),  ',' ,- 1    ) AS rn
FROM
    (select SUBSTR(GROUP_CONCAT( REPEAT(CONCAT(number,','),fre) SEPARATOR ''),1,LENGTH(GROUP_CONCAT( REPEAT(CONCAT(number,','),fre) SEPARATOR ''))-1) as rn  from numbers ) a  
JOIN mysql.help_topic b ON b.help_topic_id <
(length(a.rn) - length( replace(a.rn, ',', '')  ) + 1)

感谢各位的阅读!看完上述内容,你们对mysql将一行变成多行的方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注行业资讯频道。