oracle行转列实现
2024-09-04 20:31:53
1.新建测试表
create table TEST_TABLE(
T1 VARCHAR2(10),--姓名
T2 VARCHAR2(10),--科目
T3 VARCHAR2(10)--成绩
)
2.插入测试数据
insert into test_table (T1, T2, T3)
values ('张三', '语文', '88'); insert into test_table (T1, T2, T3)
values ('张三', '数学', '99'); insert into test_table (T1, T2, T3)
values ('张三', '英语', '100'); insert into test_table (T1, T2, T3)
values ('李四', '语文', '79'); insert into test_table (T1, T2, T3)
values ('李四', '数学', '100'); insert into test_table (T1, T2, T3)
values ('李四', '英语', '99'); insert into test_table (T1, T2, T3)
values ('王五', '语文', '99'); insert into test_table (T1, T2, T3)
values ('王五', '数学', '100'); insert into test_table (T1, T2, T3)
values ('王五', '英语', '98'); insert into test_table (T1, T2, T3)
values ('李六', '语文', '88'); insert into test_table (T1, T2, T3)
values ('李六', '英语', '99'); insert into test_table (T1, T2, T3)
values ('李六', '数学', '100');
3.行转列之前效果
我们先查询一下现在的效果
4.下面是行转列写法
select * from test_table pivot (max(T3) for T2 in(
'语文' as 语文,
'数学' as 数学,
'英语' as 英语
))
效果如下:
这样就非常简单的实现了。
最新文章
- 【第二课】WEBIX 入门自学-获取WEBIX及相关资料
- 参数的元数据信息&;数据库的元数据信息
- LINQ系列:LINQ to XML操作
- SKPhysicsWorld类
- STL—对象的构造与析构
- Springboot+mybatis中整合过程访问Mysql数据库时报错
- 在dcef3当中执行js代码并获得返回值
- [20190415]11g下那些latch是共享的.txt
- android 开发 View _13 绘制图片与BitmapShader位图的图像渲染器
- 串口、COM口、TTL、RS-232、RS-485区别详解
- check nginx配置文件错误:[emerg]: getpwnam(“nginx”) failed
- Oracle VM VirtualBox启动后莫名奇妙的报错
- 201709021工作日记--CAS解读
- nginx反向代理后abp的webapi host如何获取客户端ip?
- ios 开发之 -- UILabel的text竖行显示
- 《Python入门》Windows 7下Python Web开发环境搭建笔记
- Go实现查找目录下(包括子目录)替换文件内容
- cookie与session(略谈)
- 前端使用nginx上传文件时,进度获取不对
- C++ 什么是多态