mysql SQL将行值透视到单个列

bvjxkvbb  于 2023-11-16  发布在  Mysql
关注(0)|答案(1)|浏览(103)

下面是一个SQL查询的输出。我想将行值透视到一个标记为id的列:

| id | lag_1 | lag_2 | lag_3 |

| -- | ----- | ----- | ----- |

| 8  | 7     | 6     | 5     |

字符串
预期产出:

id 

8
7
6
5

yrdbyhpb

yrdbyhpb1#

这被称为“unpivot”。不同的数据库平台有不同的方法可以实现。MySQL使用UNION结构将字段重新排列为行。

SELECT id, 0 AS Src FROM table
UNION ALL
SELECT lag_1, 1 FROM table
UNION ALL
SELECT lag_2, 2 FROM table
UNION ALL
SELECT lag_3, 3 FROM table

字符串
如果不想重复,请删除ALL

相关问题