1.
现在有这样一个数据表student
name object score
a EN 89
a CH 78
a HO 99
b EN 34
b CH 88
b HO 66
要求生成下面样式
name EN CH HO
a 89 78 99
b 34 88 66
2.
表一
学生编号 学生姓名 科别 分数
1083 张三 语文 75
1083 张三 数学 84
1083 张三 英语 92
1084 李四 语文 84
1084 李四 数学 93
1084 李四 英语 87 怎么得出如下的表
学生编号 学生姓名 语文 数学 英语
1083 张三 75 84 92
1084 李四 84 93 87
现在有这样一个数据表student
name object score
a EN 89
a CH 78
a HO 99
b EN 34
b CH 88
b HO 66
要求生成下面样式
name EN CH HO
a 89 78 99
b 34 88 66
2.
表一
学生编号 学生姓名 科别 分数
1083 张三 语文 75
1083 张三 数学 84
1083 张三 英语 92
1084 李四 语文 84
1084 李四 数学 93
1084 李四 英语 87 怎么得出如下的表
学生编号 学生姓名 语文 数学 英语
1083 张三 75 84 92
1084 李四 84 93 87
解决方案 »
- 请大侠指点,这些系统每天偶尔出现mysql反应很慢 甚至卡死
- 懒人发一个MySQL在windows下自动下载安装(非安装版)的工具
- MYSQL 5.0,事务回滚的问题
- 从1个表copy数据到另外1个表 case when
- 復雜sql查詢求助
- 打开日志报错,请问什么是什么原因?
- 急!!哪儿可以下到mysql3.23.41在linux下的驱动程序啊?
- postgresql数据库又类似phpadmin的数据管理软件吗?
- MySQL已授权非root账号权限的数据库,root账号做的操作,非root账号看不到?
- Navicat for MySQL中导入CSV文件出现问题
- MSSQL 转换 MYSQL
- Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (gb2312_chinese_ci,错误
select 学生编号,name,
sum(case when object='CH' then score end) As '语文',
sum(case when object='HO' then score end) As '数学',
sum(case when object='EN' then score end) As '英语'
From 表一 Group By 姓名
现在有这样一个数据表student
name object score
a EN 89
a CH 78
a HO 99
b EN 34
b CH 88
b HO 66
要求生成下面样式
name EN CH HO
a 89 78 99
b 34 88 66
select name,
max(if(object='EN',score,0)) as 'EN',
max(if(object='CH',score,0)) as 'CH',
max(if(object='HO',score,0)) as 'HO'
from student
group by name
学生编号 学生姓名 科别 分数
1083 张三 语文 75
1083 张三 数学 84
1083 张三 英语 92
1084 李四 语文 84
1084 李四 数学 93
1084 李四 英语 87 怎么得出如下的表
学生编号 学生姓名 语文 数学 英语
1083 张三 75 84 92
1084 李四 84 93 87
select 学生编号,学生姓名
max(if(科别='语文',分数,0)) as '语文',
max(if(科别='数学',分数,0)) as '数学',
max(if(科别='英语',分数,0)) as '英语'
from 表一
group by 学生编号,学生姓名
MySQL交叉表