列转行1.0版本

1.有score列表如下:(列转行)
在这里插入图片描述第一步,建表

create table score(
name varchar2(15) ,
course varchar(15) not null,
scrore number(5) not null
);
插入数据:
insert into score values(‘张三’,‘语文’,80);
insert into score values(‘张三’,‘数学’,90);
insert into score values(‘张三’,‘英语’,85);
insert into score values(‘李四’,‘语文’,70);
insert into score values(‘李四’,‘数学’,80);
insert into score values(‘李四’,‘英语’,89);
commit;

效果图:
在这里插入图片描述第二步,转换为行

–将列转为行
select name,
max(case course when ‘语文’ then scrore end) as “语文”,
max(case course when ‘数学’ then scrore end) as “数学”,
max(case course when ‘英语’ then scrore end) as “英语”
from score
group by name;

sum min 都可以

或者:
select name,
max(case when (course=‘语文’) then scrore end) as “语文”,
max(case when (course=‘数学’) then scrore end) as “数学”,
max(case when (course=‘英语’) then scrore end) as “英语”
from score
group by name;
从score中挑选数据,按姓名分组,用 case ,when 选择相符合的科目的分数输出。
结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值