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列转行函数转多个字段的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表