有你在真好 的个人博客
让面试官颤抖,SQL面试题之行列转换
阅读:2217 添加日期:2021/3/27 23:22:50 原文链接:https://www.toutiao.com/item/6491183703060906510/

SQL面试题之行列转换

在写SQL时,行转列是一个比较常见的问题,接下来我看一下 下面几种情况。

情况一,如何行转列

表结构如下:

CREATE TABLE tb(姓名 VARCHAR(10),课程 VARCHAR(10),分数 INT);

数据如下:

让面试官颤抖,SQL面试题之行列转换

希望转换成如下的格式:

让面试官颤抖,SQL面试题之行列转换

思考10S中,如果是你SQL怎么写......

看下我们的SQL:

让面试官颤抖,SQL面试题之行列转换

情况二,如何列转行

建表语句如下:

CREATE TABLE tb(姓名 VARCHAR(10),语文 INT,数学 INT,物理 INT)

数据如下:

让面试官颤抖,SQL面试题之行列转换

希望转换成如下的格式:

让面试官颤抖,SQL面试题之行列转换

看下我们的SQL:

让面试官颤抖,SQL面试题之行列转换

情况三,如何多行变一行?

我们的数据结构如下:

让面试官颤抖,SQL面试题之行列转换

我们希望将id相同的行合并,效果如下:

让面试官颤抖,SQL面试题之行列转换

看下我们的SQL:

让面试官颤抖,SQL面试题之行列转换

关于一列转多列,多列转一列比较简单,不多做介绍了。

让面试官颤抖,SQL面试题之行列转换

ICP备案号:苏ICP备14035786号-1 苏公网安备 32050502001014号