行转列:用 CASE WHEN 做透视表
聚合函数GROUP BYCASE WHEN标签画像
题目描述
给定一张 scores 表:
student: 学生姓名subject: 科目score: 分数
请将数据转换为每个学生一行,每个科目一列的形式。
期望输出列
| 列名 | 说明 |
|---|---|
| student | 学生姓名 |
| math | 数学成绩 |
| english | 英语成绩 |
| chinese | 语文成绩 |
数据样例
| idPKINTEGER | studentTEXT | subjectTEXT | scoreINTEGER |
|---|---|---|---|
| 1 | 张三 | 数学 | 90 |
| 2 | 张三 | 英语 | 85 |
| 3 | 张三 | 语文 | 92 |
| 4 | 李四 | 数学 | 78 |
| 5 | 李四 | 英语 | 95 |
| 6 | 李四 | 语文 | 88 |
| 7 | 王五 | 数学 | 95 |
| 8 | 王五 | 英语 | 72 |
输入数据显示 8 / 9 行
SQL 编辑器正在保存草稿...
Ctrl + Enter 运行
正在加载 SQL 编辑器...
运行你的 SQL 查询后,结果将显示在这里