SQL 面试经典问题 行列互相转化

本文详细介绍SQL面试中常见的行列转换技巧,包括行转列和列转行的具体操作方法,通过实例展示了如何使用CASE语句和UNION ALL进行数据结构的灵活调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL 面试经典问题 行列互相转化


1.行转列

select 姓名 as 姓名 ,
max(case 课程 when '语文' then 分数 else 0 end) 语文,
max(case 课程 when '数学' then 分数 else 0 end) 数学,
max(case 课程 when '物理' then 分数 else 0 end) 物理
from tb
group by 姓名


2.列转行

select * from (
select 姓名, "语文", 语文 as 分数 from grade2
union all
select 姓名, "数学", 数学 as 分数 from grade2
union all
select 姓名, "英语", 英语 as 分数 from grade2

) teptable



转载于:https://www.cnblogs.com/TendToBigData/p/10501371.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值