云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

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

jxf315 2025-04-26 19:01:21 教程文章 10 ℃

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

最近发表
标签列表