admin 管理员组

文章数量: 1184232


2024年5月15日发(作者:网页代码怎么样设置背景)

mysql列转行的写法

MySQL中,可以使用UNION或者UNION ALL将多列转换为多

行。以下是示例:

1.使用UNION:

假设有一个表my_table,它有列col1, col2, col3,我们希望

将它们转换为行:

sql

SELECT col1 AS col FROM my_table

UNION

SELECT col2 FROM my_table

UNION

SELECT col3 FROM my_table;

2.使用UNION ALL:

与UNION不同的是,UNION ALL会返回所有的行,包括重复的

行。如果不需要去除重复的行,可以使用UNION ALL来提高查询性

能:

sql

SELECT col1 AS col FROM my_table

UNION ALL

SELECT col2 FROM my_table

UNION ALL

SELECT col3 FROM my_table;

3.使用CASE语句:

另一种方法是使用CASE语句:

sql

SELECT

CASE

WHEN id = 1 THEN col1

WHEN id = 2 THEN col2

WHEN id = 3 THEN col3

END AS col

FROM my_table;

这里,我们假设有一个额外的列id来标识每一行应该选择哪个

列。这种方法在某些情况下可能更直观或更容易使用。


本文标签: 使用 网页 代码 情况