Oracle 行转列两种方法
来源:互联网 发布:运营商云计算优势 编辑:程序博客网 时间:2024/06/03 07:53
1.新建一个名为TEST表
2.向TEST表中添加数据
INSERT INTO TEST(STUDENT,COURSE,SCORE)
select '张三','语文',78 from dual union
select '张三','数学',87 from dual union
select '张三','英语',82 from dual union
select '张三','物理',90 from dual union
select '李四','语文',65 from dual union
select '李四','数学',77 from dual union
select '李四','英语',65 from dual union
select '李四','物理',85 from dual
表数据如下:
3.列转行
方法··1:
select
Student,
sum(decode(Course, '数学', Score)) 数学,
sum(decode(Course, '物理', Score)) 物理,
sum(decode(Course, '英语', Score)) 英语,
sum(decode(Course, '语文', Score)) 语文
from
TEST
group by Student
方法··2:
select
Student,
sum(case Course when '数学' then Score else null end) 数学,
sum(case Course when '物理' then Score else null end) 物理,
sum(case Course when '英语' then Score else null end) 英语,
sum(case Course when '语文' then Score else null end) 语文
from
TEST
group by Student
效果如下:
注:sum是求和的意思;比如说里面记录里面有两条张三,列转行显示的结果就会是两个张三的结果之和。
- Oracle 行转列两种方法
- 【oracle】Oracle查前几条记录方法
- [Oracle]: Oracle 分隔字符串方法
- oracle 优化方法
- C# - Oracle数据库连接方法
- Oracle导入导出方法
- ORACLE 数据库备份方法
- ORACLE自动备份方法
- oracle建db_link方法
- ORACLE自动备份方法
- Oracle 创建Package方法
- ORACLE数据库备份方法
- C# - Oracle数据库连接方法
- oracle卸载方法
- oracle自动编号方法
- Oracle数据恢复方法
- oracle INSTR方法
- Oracle数据表解锁方法
- 利用java的反射以及在java web反射机制的使用优化程序
- C++primer plus第六版课后编程题答案16.9
- java版的渊子赛马
- 内网端口映射软件之80端口映射全端口映射
- 【C++ STL学习之五】容器set和multiset
- Oracle 行转列两种方法
- Linux学习之——Linux常用命令(二):权限管理命令
- C++类对象内存模型与成员函数调用分析(中)
- c++作业第六章例题部分(第九周)
- 数据结构学习笔记-二叉树的前、中、后序遍历,递归、非递归方式
- poj 3069 Saruman's Army(贪心)
- 查询处理以及分词技术
- 逆转单链表
- 编程之美--求二叉树中节点的最大距离