oracle SQL竖表转横表
来源:互联网 发布:淘宝情趣内衣买家秀 编辑:程序博客网 时间:2024/06/06 01:16
oracle SQL竖表转横表
T_T_STUDENT表查询记录如下,要转成横表
姓名 课程 成绩
1 张飞 语文 80
2 张飞 数学 87
3 关羽 语文 97
4 张飞 英语 68
5 关羽 数学 53
6 刘备 语文 90
方法一:--用decode实现,SELECT T.NAME, SUM(DECODE(T.Course, '语文', T.Score)) 语文, SUM(DECODE(T.Course, '数学', T.Score)) 数学, SUM(DECODE(T.Course, '英语', T.Score)) 英语 FROM T_T_STUDENT TGROUP BY T.NAME方法二:--用case when 实现SELECT T.NAME, SUM(CASE T.Course WHEN '语文' THEN T.Score ELSE 0 END) 语文, SUM(CASE T.Course WHEN '数学' THEN T.Score ELSE 0 END) 数学, SUM(CASE T.Course WHEN '英语' THEN T.Score ELSE 0 END) 英语 FROM T_T_STUDENT TGROUP BY T.NAME
输出结果如下:
姓名 语文 数学 英语
1 刘备 90 94 92
2 关羽 97 53 95
3 张飞 80 87 68
区别如果条件是单一值时,用decode比较简便,如果判断条件比较复杂是用case when实现
0 0
- oracle SQL竖表转横表
- Oracle 实现竖表转横表sql
- oracle SQL竖表转横表
- sql----oracle
- oracle sql
- Oracle SQL
- Oracle SQL
- Oracle SQL
- sql oRACLE
- oracle sql
- Oracle sql
- Oracle sql
- oracle sql
- oracle sql
- ORACLE-SQL
- Oracle SQL
- Oracle SQL
- oracle.sql
- poj2112二分图多重匹配
- C++定义一个对象和new一个对象的区别与联系
- malloc、calloc、realloc的区别
- 深度网络概览
- Android搭建
- oracle SQL竖表转横表
- 自我总结
- EasyDarwin手机直播转发快速显示问题之音频处理过程
- Leetcode - Intersection of Two Linked Lists
- hdu 1166 (改)
- 源码中加入的,防止被偷源码的一种措施
- 汽车节气门为何容易脏?
- 257. Binary Tree Paths
- C经典 输入字符串,并统计字母个数,首字母大写