1.创建tb_student表

create table tb_student(

id number(4) ,

name varchar2(20),

course varchar2(20),

score number(5,2)

);

insert into tb_student values(1,'张三','语文',81);

insert into tb_student values(2,'张三','数学',75);

insert into tb_student values(3,'李四','语文',86);

insert into tb_student values(4,'李四','数学',90);

insert into tb_student values(5,'王五','语文',81);

insert into tb_student values(6,'王五','数学',100);

insert into tb_student values(7,'王五','英语',90);

commit;

表如下图:

2.列转行第一种方法,代码见下:

select

name,

sum(decode(course, '数学', score)) 数学,

sum(decode(course, '英语', score)) 英语,

sum(decode(course, '语文', score)) 语文

from

tb_student

group by name;

3.列转行第二种方法,代码见下:

select

name,

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

tb_student

group by name;

最终结果如下图所示:

decode语法:

decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)

oracle sql列转行_Oracle数据库中列转行的两种方法相关推荐

  1. oracle事务数统计,【学习笔记】Oracle数据库收集统计信息的两种方法介绍案例

    天萃荷净 分享一篇关于Oracle数据库收集统计信息的办法,Oracle DBMS_STATS与Oracle analyze使用方法案例 今天群里面讨论DBMS_STATS和analyze,这里进行了 ...

  2. mysql php gpl_MySQL_MySQL数据库远程访问权限如何打开(两种方法),下载GPL版本安装MySQL Community - phpStudy...

    MySQL数据库远程访问权限如何打开(两种方法) 下载GPL版本安装 MySQL Community Edition(GPL) Community (GPL) Downloads » 在我们使用mys ...

  3. html怎么样取jsp中的路径,jsp中获得路径的两种方法和获得url路径的方法(推荐)

    是解决相对路径的问题,可返回站点的根路径. //这样获得的是绝对路径 //这样获得的是相对路径 能够更有效的防治连接的失效. request.getContextPath()得到的是项目的名字,如果项 ...

  4. python自带的shell是什么-python中执行shell的两种方法总结

    一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...

  5. python右对齐格式化输出_Python中格式化输出的两种方法介绍

    本篇文章给大家带来的内容是关于Python中格式化输出的两种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方式一:使用占位符 % 常用占位符:% s (s = string ...

  6. DLL中资源切换的两种方法

    DLL中资源切换的两种方法 方法1 AFX_MANAGE_STATE(AfxGetAppModuleState());                // MFC扩展dll 或 AFX_MANAGE_ ...

  7. python去重复排序_Python实现删除排序数组中重复项的两种方法示例

    本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不 ...

  8. 华为n3计算机在哪里,在华为nova3i中连接电脑的两种方法介绍

    大家知道怎么在华为nova3i中连接电脑吗?不知道没有关系,小编今天介绍在华为nova3i中连接电脑的两种方法,希望可以帮助到你哦. 在华为nova3i中连接电脑的两种方法介绍 方法一: 1.下载并且 ...

  9. python字典取值_python 字典中取值的两种方法小结

    python 字典中取值的两种方法小结 如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name ...

最新文章

  1. 链表-删除链表中的重复元素
  2. 剑指Offer——当当+搜狐+好未来笔试题+知识点总结
  3. easyUI创建人员树
  4. 已经创建了AWS EC2实例,Linux系统默认没有root用户,那么如何创建root用户并更改为root用户登录呢?
  5. mac os x10.9.2 查看进程对应端口
  6. 图神经网络可解释性Slide:GNNExplainer: Generating Explanations for Graph Neural Networks
  7. Cocos creator之javascript闭包
  8. DELPHI的编译指令
  9. 计算机操作员有关大学专业,如何根据自身特长选大学专业,这样操作最简单直接!...
  10. runloop的mode作用是什么?
  11. 21. 包含min函数的栈(C++版本)
  12. 478.在圆内随机生成点
  13. Namesilo更换域名DNS解析服务器的方法
  14. IT架构师_隽语集(Design Thinking _0101)
  15. 《计算机的硬件系统》教案,计算机硬件系统的组成教案
  16. 了解RESTful接口设计风格
  17. Cisco 动态路由(RIP协议)设计(含.pkt文件) 计算机网络课设/实验
  18. 安信可1.5---编译下载乐鑫ESP8266 RTOS SDK库
  19. fgsea进行GSEA富集分析
  20. 关于绩效考核,可能与你理解的不一样

热门文章

  1. MsSql2008跟踪
  2. 电脑文件加密软件哪个最好用:试试文件加密软件排行榜第一的EaseUS LockMyFile吧 | 军事级加密你值得拥有!!!
  3. 做有态度的电竞手机:红魔携手RNG力推移动电竞
  4. c++11中emplace_back vs push_back
  5. 0-01--python3 优雅地使用 configparser加载配置内容-无默认配置
  6. Python获取手机摄像头视频流
  7. oracle column ambiguously defined
  8. 计算机考试怎么把要求栏固定到屏幕上,计算机作业1.调整任务栏的位置至屏幕上方2.使任务栏上不显示 爱问知识人...
  9. .htaccess文件RewriteRule语法规则
  10. 简单织梦分页显示方式条数限制