行列转换一

原视图结构:

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

| 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;

posted @ 2016-05-31 23:17  倦刻懒骨  阅读(154)  评论(0编辑  收藏  举报