mysql 列转行
时间: 2023-08-08 17:11:02 浏览: 131
mysql 列转行,合并字段的方法(必看)
你可以使用MySQL的PIVOT操作来进行列转行。Pivot操作允许你将行数据转换为列数据。下面是一个示例:
假设你有一个名为`table_name`的表,其中包含以下数据:
```
+----+-------+------+
| id | name | age |
+----+-------+------+
| 1 | Alice | 25 |
| 2 | Bob | 30 |
| 3 | John | 35 |
+----+-------+------+
```
要将`name`列转换为行数据,你可以使用以下查询:
```sql
SELECT
MAX(CASE WHEN name = 'Alice' THEN age END) AS Alice,
MAX(CASE WHEN name = 'Bob' THEN age END) AS Bob,
MAX(CASE WHEN name = 'John' THEN age END) AS John
FROM
table_name;
```
执行上述查询后,你将得到以下结果:
```
+-------+-----+------+
| Alice | Bob | John |
+-------+-----+------+
| 25 | 30 | 35 |
+-------+-----+------+
```
这样,你就成功将`name`列转换为了行数据。请注意,这种方法适用于已知的固定列值。如果列值不确定或动态变化,请使用动态SQL来构建查询。
阅读全文