mysql 多行转多列分开
时间: 2023-10-23 07:35:26 浏览: 139
sql多行转列
如果你的数据是多行的,每行包含一个学生的多个成绩,且每个成绩都对应一个科目名称,你可以使用MySQL中的PIVOT操作将这些数据转换为多列的格式。
下面是一个示例的SQL查询语句,假设你的数据表名为scores,包含以下列:学生ID(student_id)、科目名称(subject)、成绩(score):
```
SELECT student_id,
MAX(CASE WHEN subject = '语文' THEN score ELSE NULL END) AS '语文',
MAX(CASE WHEN subject = '数学' THEN score ELSE NULL END) AS '数学',
MAX(CASE WHEN subject = '英语' THEN score ELSE NULL END) AS '英语'
FROM scores
GROUP BY student_id;
```
这个查询语句会将每个学生的ID和对应的每个科目的成绩作为一列进行展示,每个学生对应的记录只有一行。
你可以根据自己的实际需求,修改查询语句中的表名、列名和PIVOT操作的条件。注意,PIVOT操作需要使用聚合函数(如MAX)来对每个科目的成绩进行处理,以便将它们转换为一列。
阅读全文