Oracle最常见的行转列
发布时间:2020-07-03 13:39:47 所属栏目:Oracle 来源:互联网
导读:初始化数据: 组名 分数 得分项 开发一组 100 1 开发二组 90 1 开发三组 60 1 开发四组 80 1 开发一组 60 2 开发二组 70 2 开发三组 50 2 开发四组 80 2 需要得到: 开发一组 开发二组 开发三组 开发四组 1 100 90 60 80 2 60
初始化数据: 组名 分数 得分项 开发一组 100 1开发二组 90 1 开发三组 60 1 开发四组 80 1 开发一组 60 2 开发二组 70 2 开发三组 50 2 开发四组 80 2 需要得到: 开发一组 开发二组 开发三组 开发四组 1 100 90 60 80 2 60 70 50 80 drop table test purge; create table test(name varchar2(20),score number,course_id number); insert into test values('开发一组',100,1); insert into test values('开发二组',90,1); insert into test values('开发三组',60,1); insert into test values('开发四组',80,1); insert into test values('开发一组',2); insert into test values('开发二组',70,2); insert into test values('开发三组',50,2); insert into test values('开发四组',2); commit; select * from test; NAME SCORE COURSE_ID -------------------- ---------- ---------- 开发一组 100 1 开发二组 90 1 开发三组 60 1 开发四组 80 1 开发一组 60 2 开发二组 70 2 开发三组 50 2 开发四组 80 2 select course_id, max(case when name ='开发一组' then score else null end) 开发一组, max(case when name ='开发二组' then score else null end) 开发二组, max(case when name ='开发三组' then score else null end) 开发三组, max(case when name ='开发四组' then score else null end) 开发四组 from test group by course_id; COURSE_ID 开发一组 开发二组 开发三组 开发四组 ---------- ---------- ---------- ---------- ---------- 1 100 90 60 80 2 60 70 50 80 (编辑:大庆站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |