MySQL一行拆分多行

在想如何将一个数据拆分成多行前,先去了解一下MySQL里的几个函数
SUBSTRING_INDEX(str,delim,count)函数它里面有三个参数值,分别的作用是:分割字符串、分隔符、计数。
length():字符长度函数
replace():替换函数
内容类似于下图请往下看:
在这里插入图片描述
在这里插入图片描述
在网上搜索到的思路是利用MySQL自带的mysql数据库中的help_topic这个记录表,这个表是存储 mysql 各种帮助文档目录的,主要因为他有一个从零开始自增的 id 字段,所以采用这张表作为帮助表。其实他不是用来干这个的。
那么讲到这里就直接上答案吧

SELECT mysql.help_topic.help_topic_id,
SUBSTRING_INDEX(
SUBSTRING_INDEX(st.`course_strId`,';',mysql.help_topic.help_topic_id+1),';',-1) 
AS courseId
 FROM student02 st 
 JOIN mysql.help_topic ON mysql.help_topic.help_topic_id  < 
 ( LENGTH(st.`course_strId`) 
 - LENGTH(REPLACE(st.`course_strId`,';','')) 
 + 1)
 WHERE st.student02 = 10

如果有疑问,可以在数据库进行测试,一步一步进行推断执行,你就会明白了,实践是最好的学习成长捷径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值