一、行转列
主要原理是利用decode函数、聚集函数(sum),结合group by分组实现的
例:
--查看表是否存在
select * from T_TEST_GRADE T;
--新建测试表
create table T_TEST_GRADE
(
GRADE_ID VARCHAR2(10) not null,
USER_NAME VARCHAR2(20),
COURSE VARCHAR2(20),
SCORE VARCHAR2(3)
);
--插入测试数据
INSERT INTO T_TEST_GRADE(GRADE_ID,USER_NAME,COURSE,SCORE) VALUES ('1','james','english','65');
INSERT INTO T_TEST_GRADE(GRADE_ID,USER_NAME,COURSE,SCORE) VALUES ('2','james','basketball','95');
INSERT INTO T_TEST_GRADE(GRADE_ID,USER_NAME,COURSE,SCORE) VALUES ('3','james','math','75');
INSERT INTO T_TEST_GRADE(GRADE_ID,USER_NAME,COURSE,SCORE) VALUES ('4','hardon','english','75');
INSERT INTO T_TEST_GRADE(GRADE_ID,USER_NAME,COURSE,SCORE) VALUES ('5','hardon','basketball','85');
INSERT INTO T_TEST_GRADE(GRADE_ID,USER_N