mysql行列转换_mysql行列转换

本文介绍了如何在MySQL中进行数据的行列转换。针对一维转二维,提供了静态和动态两种方法,分别适用于列名和列数固定或可变的情况。对于二维转一维,通过UNION ALL操作实现了数据的转换。示例包括了具体的SQL查询语句,帮助理解转换过程。
摘要由CSDN通过智能技术生成

原标题:mysql行列转换

1.一维转二维

3a4b885b26589e605a8ad12e1ab47658.png

上图为成绩表中数据,现希望将数据转换为下图。

17254ff08462776963e7ad76c64c6b66.png

①静态:转化为二维表后的列名及列数是确定不变的,本例中即course只有数学、语文、英语这三门课。

select s_name,

max(if(course="数学",score,0)) as 数学,

max(if(course='语文',score,0)) as 语文,

max(if(course='英语',score,0)) as 英语,

sum(score) as 总分

from grade group by s_name;

df550dad77b601686a5af8ada700e45d.png

②动态:转化为二维表后的列名及列数是可变的,本例中即course的课程数不确定。

set @s

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值