早教吧 育儿知识 作业答案 考试题库 百科 知识分享

mysql怎么合并一列里相同的字段,并写到新的表中?原来表结构:id名字科目分数1小明902小东803小华英语554小明885小明756小东67新表:1小明908807502小东000067...

题目详情
mysql 怎么合并一列里相同的字段,并写到新的表中?
原来表结构:
id 名字 科目 分数
1 小明 90
2 小东 80
3 小华 英语 55
4 小明 88
5 小明 75
6 小东 67
新表:
1 小明 90 88 0 75 0
2 小东 0 0 0 0 67
...
▼优质解答
答案和解析
你这个是 行列转换, 不是合并.
如果你能够确定 课程的数量的话, 那么使用 CASE WHEN 应该可以处理.
也就是
SELECT
MIN(id) AS id,
名字,
SUM( CASE WHEN 科目= '数学' THEN 分数 ELSE 0 END ) AS 数学
... 其他科目写法基本相同 ...
FROM

GROUP BY
名字