行列转换一

Posted 倦刻懒骨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了行列转换一相关的知识,希望对你有一定的参考价值。

原视图结构:

--------------------------

| name | subject  | score |
--------------------------
| 张三  | 英语    | 88     |
| 张三  | 数学      | 90   |
| 张三  | 语文      | 90   |
| 李四  | 语文      | 91   |
| 李四  | 英语      | 88     |
| 李四  | 数学      | 99   |
--------------------------

转换后:

---------------------------
| 姓名 | 语文 | 数学 | 英语 |
---------------------------
| 李四 | 91 | 99   | 88   |
| 张三 | 90   | 90   | 88   |
---------------------------

实现代码:

-> select name 姓名,
-> sum(case subject when ‘语文‘ then score else 0 end) 语文,
-> sum(case subject when ‘数学‘ then score else 0 end) 数学,
-> sum(case subject when ‘英语‘ then score else 0 end) 英语
-> from score group by name;

以上是关于行列转换一的主要内容,如果未能解决你的问题,请参考以下文章

oracle 行列转换问题

Mysql 行列转换

写sql,怎么将查询结果的行列转换呀?

EXCEL中如何行列转换?

Kettle行列转换

SQL的行列转换