假如下表
SELECT * FROM student PIVOT ( SUM (score) FOR subject IN(语文,数学,英语) ) -- Oracle 11g
函过上面 SQL 语句可到下面的结果
PIVOT 后眼个聚合函数来拿到结果,FOR 后面眼的科目是我们要转换的列,这样的话科目中的语文、数学、英语就就被转换为列。IN 后面跟的就是具体的科目值
很遗憾上面只能用在Oracle,MySQL用下面的
mysql 行转列 列转行
参考
MYSQL 行转列 Pivot 动态 思路
一篇文章搞定mysql的 行转列(7种方法) 和 列转行
https://blog.csdn.net/weter_drop/article/details/105899362
行转列方法 及 pivot函数使用问题
https://blog.csdn.net/wohaqiyi/article/details/78800636