经典SQL----行列转换
来源:互联网 发布:淘宝波奇网旗舰店真假 编辑:程序博客网 时间:2024/05/22 07:49
姓名
科目
成绩
张三
语文
66
张三
数学
77
张三
英语
88
李四
语文
99
李四
数学
100
李四
英语
55
王五
语文
44
王五
数学
33
马六
英语
22
马六
语文
11
姓名
语文
数学
英语
张三
66
77
88
李四
99
100
55
王五
44
33
0
马六
11
0
22
select name,
sum(case subject when '语文' then result else 0 end) 语文,sum(case subject when '数学' then result else 0 end) 数学,
sum(case subject when '物理' then result else 0 end) 物理,
sum(case subject when '政治' then result else 0 end) 政治,
sum(case subject when '英语' then result else 0 end) 英语
from cj c
group by name;
select name,
sum(decode(subject, '语文', result, 0)) as 语文,
sum(decode(subject, '数学', result, 0)) as 数学,
sum(decode(subject, '英语', result, 0)) as 英语
from cj group by name
Oracle 中 decode 函数用法
oracle decode含义解释:
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
......
ELSIF 条件=值n THEN
RETURN(翻译值n)
ELSE
RETURN(缺省值)
END IF
decode(字段或字段的运算,值1,值2,值3)
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多
例如:decode(subject, '语文', result, 0) As 语文
decode(result, 0, 男,1,女,2,人妖, 0) 性别
- 经典SQL----行列转换
- 经典SQL行列转换
- 经典SQL----行列转换
- 经典SQL----行列转换
- 经典SQL行列转换
- 经典SQL行列转换
- 行列转换 经典SQL语句
- 经典SQL Server 行列转换
- SQL 行列转换--经典案例
- SQL行列转换等经典sql操作
- 行列转换等经典SQL语句
- 行列转换等经典SQL语句
- 行列转换等经典SQL语句
- 行列转换等经典SQL语句
- SQL Server 行列转换--经典面试题
- 行列转换等经典SQL语句
- 行列转换等经典SQL语句
- 行列转换等经典SQL语句
- static_cast
- 延迟消费模型基本代码
- 两个 linux 下的 ipc 命令 - [c & c++]
- ubuntu install USB to RS232
- 指向const对象的指针 const指针
- 经典SQL----行列转换
- 剖析ActiveX控件安全问题
- 链表排序
- Android开发系列:怎么混合显示图片和文本
- 职业规划与领导力发展 —— 第一堂课
- 修改 Oracle 的process和Session(出处http://sunwayle.blog.51cto.com/114995/8887)
- repeater嵌套repeater
- 完全卸载oracle数据库
- delphi学习blog