Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mysql行转列(拆分字符串场景)

mysql行转列(拆分字符串场景)

作者头像
全栈程序员站长
发布于 2022-09-03 03:50:38
发布于 2022-09-03 03:50:38
2.6K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

一对多没有建立中间表的时候经常会采用分隔符的形式将“多”存储在“一”的一个字段里,这样做的代价是无法像一对多的时候那样直接关联查询,一般采用在程序中分割后分别查询的办法。如下图:

如何才能直接用sql语句查询出下图的效果呢?

可以借助一个序号表,该表中除了连续的id没有其它字段,id的值范围取决于”一”中存储的信息拆分后的数量。

实现sql:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT
	NAME,
	REPLACE(
		SUBSTRING_INDEX(mobile, ',', a.id),
		CONCAT(
			SUBSTRING_INDEX(mobile, ',', a.id - 1),
			','
		),
		''
	)AS mobile
FROM
	squence a
CROSS JOIN(
	SELECT
		NAME,
		CONCAT(mobile, ',')AS mobile,
		LENGTH(mobile)- LENGTH(REPLACE(mobile, ',', ''))+ 1 AS size
	FROM
		`user`
)b ON a.id <= b.size

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139984.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL字符串的合并及拆分
按照指定字符进行合并或拆分是经常碰到的场景,MySQL在合并的写法上比较简单,但是按指定字符拆分相对比较麻烦一点(也就是要多写一些字符)。本文将举例演示如何进行按照指定字符合并及拆分。
俊才
2020/07/01
6.5K0
MySql字符串拆分实现split功能(字段分割转列、转行)
需求描述 实现的sql 案例演示 字符串拆分: SUBSTRING_INDEX(str, delim, count) 替换函数:replace( str, from_str, to_str) 获取字符串长度:LENGTH( str ) 实现的原理解析 实现sql 正式的原理解析 Step1:首先获取最后需被拆分成多少个字符串,利用 help_topic_id 来模拟遍历 第n个字符串。 Step2:根据“,”逗号来拆分字符串,此处利用 SUBSTRING_INDEX(str, delim, count) 函数,最后把结果赋值给 num 字段。 扩展:判断外部值是否在 num列值中 find_in_set instr 字符串转多列
鱼找水需要时间
2023/02/16
16.7K1
MySql字符串拆分实现split功能(字段分割转列、转行)
mysql截取字符串并更新_mysql 截取字符串并 update select
亲测有效 格式为 update 需要修改的表 b1 inner join (查询到的临时表)b2 on b1.id=b2.id set b1.要修改的字段=b2.查询到的值
全栈程序员站长
2022/06/30
1.7K0
MySQL字符串分割_c语言中如何截取字符串
一、字符串拆分: SUBSTRING_INDEX(str, delim, count)
全栈程序员站长
2022/11/08
3K0
MySQL字符串分割_c语言中如何截取字符串
mysql语句截取字符串_sql截取字符串的函数
感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用。
全栈程序员站长
2022/11/09
2.4K0
mysql语句截取字符串_sql截取字符串的函数
MySQL字段内容拆分及合并
需求: 使用一条SQL获得tb_user表中每个人持有的剑名(剑名用“|”分隔),即得到如下结果
俊才
2022/05/31
3.7K0
MySQL字段内容拆分及合并
mysql 截取字符串部分值_mysql截取字符串取值
使用mysql过程中根据实际业务的开发需求和表的设计有时候我们需要在sql中根据某个字符串截取并且取值:demo如下:
全栈程序员站长
2022/07/01
2.4K0
一个有趣的MySQL拆分字符串需求
例如: “魏派牌CC6460AE04A” =》 “魏派牌” “CC6460AE04A” “梅赛德斯-奔驰牌BJ6457H” =》 “梅赛德斯-奔驰牌” “BJ6457H” “博斯特A4121988CC小轿车” =》 “博斯特” “A4121988CC小轿车” “发现4SALAN2F6” =》 “发现” “4SALAN2F6”
用户1148526
2022/04/13
1.5K0
一个有趣的MySQL拆分字符串需求
mysql语句截取字符串_mysql分割字符串split
select left(content,200) as abstract from my_content_t
全栈程序员站长
2022/11/10
5K0
mysql字符串截取单个位置的字符_mysql去掉指定字符串
1、locate函数可以实现类似indexof的功能,locate(substr,str)返回substr子串在字符串str中的位置。
全栈程序员站长
2022/09/28
2.8K0
mysql字符串函数大全(更新完成)
解析:as是起别名的意思。FROM Customers是哪一个表.select 是查询操作.ASCII(name)是查询name这个字段第一个字母的 ASCII 码.1的ASCII是49没错.
贵哥的编程之路
2022/11/16
9110
mysql字符串函数大全(更新完成)
mysql 字符串取前缀_mysql截取字符串的函数总结
例:select left(content,200) as abstract from my_content_t
全栈程序员站长
2022/08/18
1.8K0
mysql截取前几个字符串_MySQL 截取字符串函数的sql语句
3、SUBSTRING(name,5,3) 截取name这个字段 从第五个字符开始 只截取之后的3个字符
全栈程序员站长
2022/09/05
1.8K0
mysql倒序截取字符串_MySQL数据库之mysql截取字符串与reverse函数
本文主要向大家介绍了MySQL数据库之mysql截取字符串与reverse函数 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。
全栈程序员站长
2022/11/15
2.5K0
MySQL截取字符串的方法-substring_index
排查生产问题的时候,需要从类似下面的日志中取出一个orderId这个字段对应的数字
全栈程序员站长
2022/08/28
4720
MySQL括号字符串计数
现在想得出每种评论字数的个数,每个字符包括标点、空格、表情符号都算一个字,但每对中括号连同其中的内容只算一个字。对于上面的数据行,结果为:
用户1148526
2022/11/14
1.3K0
MySQL括号字符串计数
MySQL-巧用Join来优化SQL
墨墨导读:本文是读者『小豹子加油』的投稿,通过举出唐僧师徒取经的例子,详述一则使用JOIN来优化SQL的案例。
数据和云
2019/08/22
6510
mysql完成字符串分割
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
逝兮诚
2019/10/30
4.7K0
mysql截取_mysql截取字符串的方法[通俗易懂]
例:select left(content,200) as abstract from my_content_t
全栈程序员站长
2022/07/01
4.3K0
基于MySQL环境下的数据处理技巧
在一些 MySQL GUI 工具里面,它们提供了创建相同表结构的新表的快捷操作。如果我们用的工具没有提供这些功能,我们也可以把源表的表结构的 SQL 语句拷贝出来,修改成要创建的目标表的表结构,再执行建表语句。
白日梦想家
2021/09/15
1.3K0
相关推荐
MySQL字符串的合并及拆分
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验