文档章节

Mysql 列转行

开源中国首席公关
 开源中国首席公关
发布于 2017/08/02 16:47
字数 164
阅读 18
收藏 1

今天逛OSC的时候看见一个有意思的提问(https://www.oschina.net/question/2312022_2215630),Mysql列转行,提问内容如下:

mysql一条记录拆分成多条

我查出来的结果如下
id   relativeIds
2       10,15,21
能不能改成如下结果
id   relativeIds
2       10
2       15
2       21
直接在sql里面改 行不 ?

 这样的需求比较少见,原因就是这种表结构的设计连第一范式都违反了,但苦逼的程序员遇到问题总要解决不是,下面送上一段SQL

select a.id,substring_index(substring_index(a.relativeIds,',',b.help_topic_id+1),',',-1) 
from 
crm_user a
join
mysql.help_topic b
on b.help_topic_id < (length(a.relativeIds) - length(replace(a.relativeIds,',',''))+1)
order by a.id;

 

© 著作权归作者所有

共有 人打赏支持
上一篇: 一天一年
开源中国首席公关
粉丝 3
博文 13
码字总数 4465
作品 0
常德
程序员
私信 提问
做图表统计你需要掌握SQL Server 行转列和列转行

原文:做图表统计你需要掌握SQL Server 行转列和列转行 说在前面 做一个数据统计和分析的项目,每天面对着各种数据,经过存储过程从源表计算汇总后需要写入中间结果表以提高数据使用效率,那么...

杰克.陈
2017/12/13
0
0
经典SQL问题: 行转列

学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当作列。数据库grade里面数据如下图,假定每个人姓名都不一样,作为主键。本文以MySQL为基础,其他数据库会...

闪电
2015/09/19
25.7K
0
MYSQL函数group_concat的使用

今天对一批数据要迁移转换,查了下,有group_concat这个函数简单实现字段的列转行设置,过程记录如下 一.测试数据准备 mysql> use test;Database changedmysql> select * from t_kenyon;+---...

kenyon_君羊
2012/08/02
0
8
大数据之Linux早课10.7

1.MySQL哪些字段类型 2.建表一般我们会设置第一个字段为ID,自增长的主键,那么主键是非空和唯一约束的组合体,那么可不可以根据业务,单独设置其他字段为 非空约束或唯一约束? 3.拓展题,你...

hnairdb
10/17
0
0
SQL 经典问题:列转行

情景分析: 如上文 经典SQL问题: 行转列所示情节,反过来。 数据库数据为: 处理后效果(id可以不要): 方法一: SELECT*FROM(SELECTname,'语文'ascourse, 语文asscoreFROMgrade2unionall...

闪电
2015/09/19
56
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot jpa 访问数据库

spring boot(五):spring data jpa的使用 SpringBoot非官方教程 | 第三篇:SpringBoot用JdbcTemplates访问Mysql

颖辉小居
12分钟前
1
0
Quartz + Oracle 分布式Job实现

简述 实现 依赖包 <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.3</version><exclusions><exclusion><groupId>com.zax......

呼呼南风
18分钟前
4
0
崛起于Springboot2.X之集成规则引擎Drools(41)

1、创建Springboot项目,勾选Web模块和lombok插件 2、添加pom其他依赖 <dependency> <groupId>org.kie</groupId> <artifactId>kie-spring</artifactId> <version>7.11.0.Fin......

木九天
26分钟前
4
0
Kylin修改context-path方法

Kylin修改context-path比较麻烦,本身kylin是前后端分离的工程,修改不是只改war,还得改前端路径 步骤如下: 1、tomcat webapps 修改 kylin.war 修改成test.war 2、vi test.war 从index.htm...

litterMo
27分钟前
2
0
怎样使用Chrome浏览器截取整个网页?

1、打开控制台:Ctrl + Shift + I 2、命令执行:Ctrl + Shift + P 3、Capture full size screenshot 浏览器会自动下载截图图片,推荐过几个扩展功能: 1.全屏幕截取网页编辑共享神器-Awesom...

近在咫尺远在天涯
30分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部