sql如何将列转为行
时间: 2023-07-04 16:25:49 浏览: 132
在 SQL 中,可以使用 PIVOT 和 UNPIVOT 来将列转换为行或行转换为列。
1. 将列转换为行:
使用 UNPIVOT 可以将多列转换为行。例如,我们有一个包含学生姓名和成绩的表格,我们想将成绩列转换为行:
```
SELECT StudentName, Subject, Score
FROM Scores
UNPIVOT (Score FOR Subject IN (Math, English, History)) AS P
```
这个查询将返回一个包含每个学生的科目和成绩的行。
2. 将行转换为列:
使用 PIVOT 可以将多行转换为列。例如,我们有一个包含学生姓名、科目和成绩的表格,我们想将科目列转换为列:
```
SELECT *
FROM Scores
PIVOT (SUM(Score) FOR Subject IN (Math, English, History)) AS P
```
这个查询将返回一个包含每个学生、数学、英语和历史成绩的行。
阅读全文