mysql行合并成字段,字段拆分成多行的示例

Mysql中行合并字段使用GROUP_CONCAT( column_name SEPARATOR ‘,’ )。例如:

SELECT id, GROUP_CONCAT(name SEPARATOR ',') FROM table GROUP BY id;

将字段拆分成行,需要使用SUBSTRING_INDEX函数结合一张tmp_numbers表来完成,需要split多少次,tmp_numbers表里就需要做多少行记录,记录从1开始累加。

建立tmp_numbers表的SQL

CREATE TABLE `tmp_number` (

`n` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

示例SQL:

select

SUBSTRING_INDEX(

SUBSTRING_INDEX(biz_table.name, ',', tmp_numbers.n), ',', -1) name

from

tmp_numbers inner join biz_table

on CHAR_LENGTH(biz_table.name)

– CHAR_LENGTH(REPLACE(biz_table.name, ',', ''))

>= tmp_numbers.n – 1

order by n

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
粒子_liz的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容