oracle 行转列应用
2016-07-17 12:10
357 查看
create table student( sname varchar(20), sub varchar(20), score varchar(20) ); insert into student values('王五','语文','80'); insert into student values('王五','数学','70'); insert into student values('王五','英语','50'); insert into student values('王五','物理','90'); insert into student values('王五','化学','65'); insert into student values('张三','语文','80'); insert into student values('张三','数学','70'); insert into student values('张三','英语','50'); insert into student values('张三','物理','90'); insert into student values('张三','化学','65'); insert into student values('李四','语文','80'); insert into student values('李四','数学','70'); insert into student values('李四','英语','50'); insert into student values('李四','物理','90'); insert into student values('李四','化学','65'); select sname, subs, REGEXP_SUBSTR(subs, '[^,]+', 1, 5, 'i') 语文, REGEXP_SUBSTR(subs, '[^,]+', 1, 2, 'i') 数学, REGEXP_SUBSTR(subs, '[^,]+', 1, 4, 'i') 英语, REGEXP_SUBSTR(subs, '[^,]+', 1, 3, 'i') 物理, REGEXP_SUBSTR(subs, '[^,]+', 1, 1, 'i') 化学 from (select sname, max(subs) subs from (select sname, wmsys.wm_concat(score) over(partition by sname order by sub) subs from student) tabs group by sname) tab
相关文章推荐
- Oracle RMAN异机恢复归档RMAN-07518(供日志挖掘使用)及修改dbid步骤
- ORACLE删除某用户下所有对象
- 一种高效的 vector 四则运算处理方法
- Oracle的使用经验
- Oracle内存学习笔记
- Oracle的rollup、cube、grouping sets函数
- oracle 中GROUP BY的用法
- Oracle函数及操作符
- 数据库(学习整理)----7--Oracle多表查询,三种join连接
- oracle和mysql驱动连接配置
- kali(ubuntu)linux Oracle jdk 8安装
- Oracle clob无法修改为blob
- java和scala实现oracle lpad\rpad函数
- 【读书笔记】ORACLE 内存管理
- Linux 安装 Oracle 11g——手工建库(RAC)
- oracle SQL语句(转)
- oracle表分区详解
- ORACLE使用DBCA建数据库时错误ORA-01503,ORA-01158解决
- delphi导入导出excel|oracle
- 监视oracle执行的SQL语句