mysql的行列互转

行转列:

假如现在你有这样一张表,

id name course score
1 张三 数学 34
2 张三 语文 55
3 李四 数学 66
4 李四 语文 77
5 王五 数学 88
6 王五 语文 99

你想运用行转列将表格变成下面这样:

name 数学 语文
张三 34 55
李四 66 77
王五 88 99

首先我们建立一个test1表并且插入所需的数据, 演示如下:

mysql的行列互转_第1张图片

此时我们使用命令select * from 来查看下创建的表

mysql的行列互转_第2张图片

接下来使用max是为了将无数据的点设为0,防止出现NULL 。演示如下:

mysql的行列互转_第3张图片

 列转行:

列转行其实就是将上面的表互转。

即将

id name 数学 语文
1 张三 34 55
2 李四 66 77
3 王五 88 99

转化为

name course score
张三 数学 34
张三 语文 55
李四 数学 66
李四 语文 77
王五 数学 88
王五 语文 99

首先我们创建一个test2表并插入数据,演示如下:

mysql的行列互转_第4张图片

查看一下test2表的结构

mysql的行列互转_第5张图片

接下来我们进行列转行操作:

mysql的行列互转_第6张图片

这样列转行就完成了。

你可能感兴趣的:(mysql的行列互转)