数据库
首页 > 数据库> > MySQL--行列转换

MySQL--行列转换

作者:互联网

最近在刷Leet Code,一直没有刷到行列转换的题目,在Excel中,最常用的就是使用数据透视表了。

SQL中,这种方法是比较常用到的,所以搜集了一些资料方法,整理如下,加深记忆。

Table name: score

一 行转列

方法1 case...when...then...else...end

select id, name,
  sum(case when course='Math' then score else 0 end) Math,
  sum(case when course='English' then score else 0 end) English
from score
group by id;

方法2 if(字段1=字段值,,)

select id, name,
  sum(if(course='Math',course,0)) Math,
  sum(if(course='English'),course,0) English
from score
group by id;

这里还涉及到可能最后需要求解总和Total的值,加在一起即可。

 

二 列转行

...明天补充

标签:...,course,--,sum,when,行列,MySQL,id,Math
来源: https://www.cnblogs.com/michail/p/15110081.html