mysql逗号分隔字段拆成行简述

概述

在实际业务中总有一些字段内容是逗号分隔的,然后后续业务需要扩展时就很难受;

所以一般在这种情况下都是需要建立关联表,将字段内容拆分;

当前使用mysql版本
8.0.32

拆分demo

这里要注意mysql.help_topic表的记录行数,我这边mysql8700条左右;
需要保证mysql.help_topic的行数 >= 逗号个数 + 1(2个逗号3个内容,需要join成3行)

本质就是按照逗号个数将记录扩充,然后截取其中对应的内容

select
ahrc.id,

ahrc.question_type,

#从0开始
mht.help_topic_id,



SUBSTRING_INDEX(
#通过逗号个数截取子串
SUBSTRING_INDEX(ahrc.question_type,',',mht.help_topic_id + 1),

',',

#截取子串最后一个元素
-1
) as split_content


from
#业务表
xxxxx ahrc
join mysql.help_topic mht
# help_topic_id 从0开始,逗号不存在时,逗号个数为0,不满足条件
#这里的help_topic_id在查询结果中即代表逗号个数
# 2个逗号有3个元素,需要join上3条记录
on mht.help_topic_id <= (
CHAR_LENGTH(question_type) - CHAR_LENGTH(REPLACE(question_type,',',''))
)

相关推荐

  1. mysql逗号分隔字段成行简述

    2024-03-16 19:52:02       19 阅读
  2. mysql 字段位多行

    2024-03-16 19:52:02       7 阅读
  3. IDEA->EasyCode(mapper.xml) 字段逗号分割问题

    2024-03-16 19:52:02       15 阅读
  4. mysql表列中字符串逗号分割转列

    2024-03-16 19:52:02       22 阅读
  5. mysql把一个字段分割成两个字段

    2024-03-16 19:52:02       35 阅读
  6. hive逗号分割行列转换

    2024-03-16 19:52:02       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-16 19:52:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-16 19:52:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-16 19:52:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-16 19:52:02       18 阅读

热门阅读

  1. 学完Efficient c++ (44-45)

    2024-03-16 19:52:02       15 阅读
  2. 【KTips】把 Flow 变成 Iterator

    2024-03-16 19:52:02       21 阅读
  3. 厦大GPA(xmuoj)

    2024-03-16 19:52:02       18 阅读
  4. 452. 用最少数量的箭引爆气球

    2024-03-16 19:52:02       20 阅读
  5. 常用的正则表达式

    2024-03-16 19:52:02       18 阅读
  6. Redis 线程模型

    2024-03-16 19:52:02       20 阅读
  7. springboot2.7使用redis的redission组件实现分布式锁

    2024-03-16 19:52:02       16 阅读
  8. MySQL作业一

    2024-03-16 19:52:02       19 阅读