select name,sum(decode(科目,'语文',分数,0)) "语文", sum(decode(科目,'数学',分数,0)) "数学", sum(decode(科目,'英语',分数,0)) "英语" from t group by name;
SELECT 姓名,sum(case when 科目='语文' then 分数 else 0 end) 语文, ,sum(case when 科目='数学' then 分数 else 0 end) 数学 ,sum(case when 科目='英语' then 分数 else 0 end) 英语 from tb group by 姓名 ;
create table tt(姓名 varchar2(100),科目 varchar2(100),分数 number); insert into tt values('小明','语文',98); insert into tt values('小明','数学',80); insert into tt values('小明','英语',79); insert into tt values('小红','语文',86); insert into tt values('小红','数学',84); insert into tt values('小红','英语',90); commit;select 姓名, sum(decode(科目, '语文', 分数, 0)) "语文", sum(decode(科目, '数学', 分数, 0)) "数学", sum(decode(科目, '数学', 分数, 0)) "数学" from tt group by 姓名;
sum(decode(科目,'数学',分数,0)) "数学",
sum(decode(科目,'英语',分数,0)) "英语"
from t
group by name;
,sum(case when 科目='数学' then 分数 else 0 end) 数学
,sum(case when 科目='英语' then 分数 else 0 end) 英语
from tb
group by 姓名 ;
create table tt(姓名 varchar2(100),科目 varchar2(100),分数 number);
insert into tt values('小明','语文',98);
insert into tt values('小明','数学',80);
insert into tt values('小明','英语',79);
insert into tt values('小红','语文',86);
insert into tt values('小红','数学',84);
insert into tt values('小红','英语',90);
commit;select 姓名,
sum(decode(科目, '语文', 分数, 0)) "语文",
sum(decode(科目, '数学', 分数, 0)) "数学",
sum(decode(科目, '数学', 分数, 0)) "数学"
from tt
group by 姓名;