行转列
将某一字段具有相同值的多行数据,聚合成一行数据。
如:将上图数据聚合成下图样式,即为行转列
if 或 case 方式
select name,
sum(if(subject='语文‘,grade,0) as 语文,
sum(if(subject='数学',grade,0) as 数学,
sum(if(subject='英语',grade,0) as 英语
from
列转行
将一行数据以某字段为基准拆成多行数据(与行转列相反)。利用 union all
参见:https://blog.youkuaiyun.com/lilong329329/article/details/81664451