SQL行转列
2015-11-20 16:55
288 查看
建表:
create table studentinfo(
name varchar(20) ,
subject varchar(20),
score number(3,1));
插入记录:
insert into studentinfo values('张三','语文',69);
insert into studentinfo values('张三','数学',70);
insert into studentinfo values('李四','语文',20);
里面的记录为:
我们想要的结果为:
通过下面的sql可以实现:
select a 姓名,max(a1) 语文,max(a2) 数学
from (
select a, case when b = '语文' then c else null end as a1,
case when b = '数学' then c else null end as a2
from
(select name a,subject b,score c from studentinfo) x
) y
group by a;
作者:caobotao
出处: /article/5260173.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
create table studentinfo(
name varchar(20) ,
subject varchar(20),
score number(3,1));
插入记录:
insert into studentinfo values('张三','语文',69);
insert into studentinfo values('张三','数学',70);
insert into studentinfo values('李四','语文',20);
里面的记录为:
我们想要的结果为:
通过下面的sql可以实现:
select a 姓名,max(a1) 语文,max(a2) 数学
from (
select a, case when b = '语文' then c else null end as a1,
case when b = '数学' then c else null end as a2
from
(select name a,subject b,score c from studentinfo) x
) y
group by a;
作者:caobotao
出处: /article/5260173.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
相关文章推荐
- MYSQL-LOAD DATA 0row问题解决
- MySQL常用命令
- SQLSERVER 调用DLL 解密
- MongoDB数组或者对象数据查询
- MySQL记录存在则更新,不存在插入on duplicate key update
- iBATIS.net获取运行时sql语句
- mysql导出导入某张表
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- 数据库 子查询和分页查询
- 使用Redis实现抢购的一种思路
- Oracle查询表空间
- mysql5.6收集异常具体代码
- 根据STATUS信息对MySQL进行优化
- XData -–无需开发、基于配置的数据库RESTful服务,可作为移动App和ExtJS、WPF/Silverlight、Ajax等应用的服务端
- mybatis调用oracle存储过程
- Oracle (内连接)
- 数据库:多表之间的设计以及对应类之间的关系,与数据库的操作。
- win7安装Redis
- 索引、mySQL与oracle区别
- Oracle用户管理