欢迎您访问新疆栾骏商贸有限公司,公司主营电子五金轴承产品批发业务!
全国咨询热线: 400-8878-609

新闻资讯

技术学院

mysql如何将一行变成多行

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

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

图a

图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教程(视频)