MySql教程

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的值,加在一起即可。

 

二 列转行

...明天补充

这篇关于MySQL--行列转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!