首页 > 科技 > > 正文
2025-03-13 23:10:38

SQL 行转列 🔄✨

导读 在数据库操作中,`行转列`是一个常见的需求,尤其是在报表展示或数据分析时。例如,你有一张存储学生成绩的表格,每一行代表一个科目和对应...

在数据库操作中,`行转列`是一个常见的需求,尤其是在报表展示或数据分析时。例如,你有一张存储学生成绩的表格,每一行代表一个科目和对应的成绩,但有时需要将这些数据以科目为列展示,方便横向对比。这时就需要用到SQL中的`CASE`语句或`PIVOT`函数来实现。

比如,假设你的原始表如下:

| 学生姓名 | 科目 | 成绩 |

|----------|--------|------|

| 张三 | 数学 | 85 |

| 张三 | 英语 | 90 |

| 李四 | 数学 | 78 |

| 李四 | 英语 | 88 |

通过行转列后,可以得到:

| 学生姓名 | 数学成绩 | 英语成绩 |

|----------|----------|----------|

| 张三 | 85 | 90 |

| 李四 | 78 | 88 |

具体SQL实现方式如下:

```sql

SELECT

学生姓名,

MAX(CASE WHEN 科目 = '数学' THEN 成绩 END) AS 数学成绩,

MAX(CASE WHEN 科目 = '英语' THEN 成绩 END) AS 英语成绩

FROM 表名

GROUP BY 学生姓名;

```

这种方法简单高效,能够快速满足行转列的需求,让数据更加直观易读。📊💡