关于mysql表数据行列转换方法的讲解


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

+-------------+--------+| category_id | name   |

+-------------+--------+|           1 | 大     |

|           1 | 中     |

|           1 | 小     |

|           2 | 奔驰   |

|           2 | 宝马   |

|           3 | 2015   |

|           3 | 2016   |

|           3 | 2017   |

|           3 | 2018   |

|           4 | 1m     ||           4 | 2m     |

+-------------+--------+

列转行比行转列复杂,对于列内容是用分隔符分隔的数据,我们可以使用substring_index()函数进行分割输出,并结合笛卡尔积来实现循环。

1

select a.category_id,substring_index(substring_index(a.name,',',b.category_id),',',-1) as name from `option2` as ajoin `option2` as b on b.category_id<=(length(a.name) - length(replace(a.name,',',''))+1)order by a.category_id,b.category_id;

执行结果:

1

2

3

4

5

6

7

8

9

10

11

12

13

mysql> select a.category_id,substring_index(substring_index(a.name,',',b.category_id),',',-1) as name from `option2` as a    -> join `option2` as b on b.category_id<=(length(a.name) - length(replace(a.name,',',''))+1)    -> order by a.category_id,b.category_id;

+-------------+--------+| category_id | name   |

+-------------+--------+|           1 | 大     |

|           1 | 中     |

|           1 | 小     |

|           2 | 奔驰   |

|           2 | 宝马   |

|           3 | 2015   |

|           3 | 2016   |

|           3 | 2017   |

|           3 | 2018   |

|           4 | 1m     ||           4 | 2m     |

+-------------+--------+

本篇讲解了mysql表数据行列转换方法 ,更多相关内容请关注潘合平中文网。

相关推荐:

如何通过php 实现多个一维数组合拼成二维数组的方法

讲解php 返回数组中指定多列的相关方法

关于php 基于redis计数器类的详解

以上就是关于mysql表数据行列转换方法的讲解的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

mysql中删除语句怎么写

mysql如何批量修改字符集

详解mysql 30条军规

mysql查询进阶操作从函数到表连接的使用

如何将mysql升级到5.7

mysql中标识列是什么意思有什么用

mysql索引更新要多久

mysql存储过程的深入讲解(in、out、inout)

mysql distinct用法是什么

navicat如何查看mysql的操作记录

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...