----创建测试表
create table student_score(
name varchar2(20),
subject varchar2(20),
score number(4,1)
);
-----插入测试数据
insert into student_score (name,subject,score)values('张三','语文',78);
insert into student_score (name,subject,score)values('张三','数学',88);
insert into student_score (name,subject,score)values('张三','英语',98);
insert into student_score (name,subject,score)values('李四','语文',89);
insert into student_score (name,subject,score)values('李四','数学',76);
insert into student_score (name,subject,score)values('李四','英语',90);
insert into student_score (name,subject,score)values('王五','语文',99);
insert into student_score (name,subject,score)values('王五','数学',66);
insert into student_score (name,subject,score)values('王五','英语',91);
-----decode行转列
select name "姓名",
sum(decode(subject, '语文', nvl(score, 0), 0)) "语文",
sum(decode(subject, '数学', nvl(score, 0), 0)) "数学",
sum(decode(subject, '英语', nvl(score, 0), 0)) "英语"
from student_score
group by name;
------ case when 行转列
select name "姓名",
sum(case when subject='语文'
then nvl(score,0)
else 0
end) "语文",
sum(case when subject='数学'
then nvl(score,0)
else 0
end) "数学",
sum(case when subject='英语'
then nvl(score,0)
else 0
end) "英语"
from student_score
group by name; 热门文章更多>>
标签更多>>
专题更多>>
最新文章更多>>
- 华为m3和ipad air2哪个好?华为平板m3和ipad air2详细区别对比评测
- 华为平板M3怎么调节色温保护眼睛?
- 8.4英寸华为平板M3真机图赏:主打影音视频和游戏
- 华为平板M3怎么使用自带的云服务导入旧手机资料数据?
- 怎么将之前手机中的就资料导入华为平板M3?
- 华硕ZenPad 3S 10值得买吗?华硕ZenPad 3S 10平板全面评测
- 小米平板2的16G内存够用吗? 16GB版小米平板2可以刷Win10系统吗?
- 华为平板M3值得买吗 华为平板M3全面评测图解
- 华为平板M3和小米平板2哪个好?小米平板2和华为平板M3详细区别对比评测
- 华为平板M3有几个版本?华为平板M3 WiFi版与LTE版各版本区别对比评测
yomiko35074860