数据准备阶段:

CREATE TABLE CC  (Student NVARCHAR2(2),Course NVARCHAR2(2),Score INT);

INSERT into CC   
select N'张三',N'语文',78 from dual union all  
select N'张三',N'数学',87 from dual union all  
select N'张三',N'英语',82 from dual union all  
select N'张三',N'物理',90 from dual union all  
select N'李四',N'语文',65 from dual union all  
select N'李四',N'数学',77 from dual union all  
select N'李四',N'英语',65 from dual union all  
select N'李四',N'物理',85 from dual ;  
commit;

操作如下:

方法一、

select
student,
sum(decode(course,'语文',score)) 语文,
sum(decode(course,'数学',score)) 数学,
sum(decode(course,'英语',score)) 英语,
sum(decode(course,'物理',score)) 物理,
sum(score)
from cc group by student;

方法二、

SELECT KIN.*,
KIN.a+KIN.b+KIN.c+KIN.d AS TOTAL
FROM
(SELECT *
FROM CC PIVOT ( MAX(SCORE) FOR COURSE IN ('语文' AS A , '数学' AS B, '英语' AS C,'物理' AS D) )
) KIN;

方法三、

select
student,
sum(case when course = '语文' then score else 0 end )语文,
sum(case when course = '数学' then score else 0 end )数学,
sum(case when course = '英语' then score else 0 end )英语,
sum(case when course = '物理' then score else 0 end )物理
from cc group by student;

完。

最新文章

  1. C语言中把数字转换为字符串 【转】
  2. ftp 530 This FTP serveris anonymous only,
  3. data-role参数表:
  4. CH Round #45 能量释放
  5. Mvc音乐商店demo的ajax异步删除功能总结
  6. Composer加速
  7. Adobe Acrobat 9 Pro 注册码
  8. 201521123036 《Java程序设计》第2周学习总结
  9. python之socket编程------粘包
  10. .NET Core 如何调用 WebService
  11. 20165326 java第五周学习笔记
  12. 【selenium】XPATH语法(一)
  13. Node.js处理I/O数据之Buffer模块缓冲数据
  14. 【Unity3D游戏开发】NGUI之DrawCall数量 (四)
  15. IR的评价指标之MRR
  16. arcgis api for silverlight开发系列之二:缓存图层与动态图层及图层总结 .
  17. 关于JWT.NET
  18. Communication with each role instance in Azure
  19. ABP框架应用-MySQL数据库集成
  20. 更改vsftpd默认的21端口

热门文章

  1. RabbitMQ学习之:(八)Topic Exchange (转贴+我的评论)
  2. HashMap 怎么 hash?又如何 map?
  3. 包含min函数的栈、队列
  4. redis开启持久化、redis 数据备份与恢复
  5. Springboot入门5-项目打包部署(转载)
  6. vue的双向绑定和依赖收集
  7. LeetCode.1184-公交车站之间的距离(Distance Between Bus Stops)
  8. 事务配置在applicationContext.xml文件中不起作用,控制不了异常回滚
  9. 基于模板匹配的目标跟踪(OpenCV)
  10. Archlinux开启ssh服务命令