SQL面试题之行列转换
在写SQL时,行转列是一个比较常见的问题,接下来我看一下 下面几种情况。
情况一,如何行转列
表结构如下:
CREATE TABLE tb(姓名 VARCHAR(10),课程 VARCHAR(10),分数 INT);
数据如下:
希望转换成如下的格式:
思考10S中,如果是你SQL怎么写......
看下我们的SQL:
情况二,如何列转行
建表语句如下:
CREATE TABLE tb(姓名 VARCHAR(10),语文 INT,数学 INT,物理 INT)
数据如下:
希望转换成如下的格式:
看下我们的SQL:
情况三,如何多行变一行?
我们的数据结构如下:
我们希望将id相同的行合并,效果如下:
看下我们的SQL:
关于一列转多列,多列转一列比较简单,不多做介绍了。