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
解决方案 »
- 客户端library与header不匹配
- 求按月分组统计数据的sql语句。在线等
- 卸载以前MySql后重新安装出现问题
- 数据库设计一问--探讨如何操作最高效
- 初学 mysql ,请指点!!!
- mysql 中delete 语句能使用limit语句吗
- 用Delphi连接mysql有个奇怪的问题,急求帮助!!!!!!
- 求助一个sql语句的问题
- mysql 服务无法启动
- mysql 语句 同表多个子查询求优化 才2W条数据耗时1.65s ,怕以后跑不动..
- 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交叉表