mysql列转行(mysql列转行函数转多个字段)
本篇文章给大家谈谈mysql列转行,以及mysql列转行函数转多个字段对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
mysql 列转行
select typeId,value1 from 表
union
select typeId,value2 from 表
union
select typeId,value3 from 表
union
select typeId,value4 from 表
........
union
select typeId,value10 from 表
注意,以上共19行(10行select、9行union)是一个语句,中间没有分号,这个语句的结果就是你想要的结果。
[img]mysql列转行(逗号分隔)
mysql查询含逗号的数据,将逗号拆分为多行展示:
原始数据如下:
现在因为新的需求,需要将这些数据转化为如下形式:
假设我们需要处理的表结构为:
使用如下sql语句即可实现需求:
查询的主要思路为,原表与一个包含连续自增长字段的表进行join,得到字符串分隔后的索引值,其中 length( a.name ) - length( REPLACE ( a.name, ',', '' ) ) + 1 语句获得字符串逗号分隔之后得答困到的数据长度,两表关联之后,会得山祥到相应行逗举搏数的数据。比如,
在join之后会得到:
之后对查询中的结果,使用substring_index方法进行截取,然后得到我们自己想要的数据。
mysql中列转行,并多个字段转到一行中的一个字段上,中间用逗号分开
select ID,group_concat(NAME) as NAME from table group by ID;
select ID,group_concat(NAME SEPARATOR ';') as NAME from a group by ID;
关于mysql列转行和mysql列转行函数转多个字段的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。