mysql纵表数据转横表数据
时间: 2024-02-28 16:51:15 浏览: 69
MySQL数据表基本操作实例详解
在MySQL中,将纵表数据转换为横表数据可以使用多种方法,其中一种常见的方法是使用聚合函数和条件语句来实现。下面是一个简单的示例来说明如何进行纵表数据转换为横表数据:
假设我们有一个纵表数据如下:
```
+--+--+--+
| id | name | value |
+--+--+--+
| 1 | attr1 | 10 |
| 1 | attr2 | 20 |
| 1 | attr3 | 30 |
| 2 | attr1 | 40 |
| 2 | attr2 | 50 |
| 2 | attr3 | 60 |
+--+--+--+
```
我们希望将其转换为横表数据,即将每个id对应的属性值作为列,可以使用以下查询语句:
```sql
SELECT
id,
MAX(CASE WHEN name = 'attr1' THEN value END) AS attr1,
MAX(CASE WHEN name = 'attr2' THEN value END) AS attr2,
MAX(CASE WHEN name = 'attr3' THEN value END) AS attr3
FROM
your_table
GROUP BY
id;
```
执行以上查询后,将得到如下结果:
```
+--+--+--+--+
| id | attr1 | attr2 | attr3 |
+--+--+--+--+
| 1 | 10 | 20 | 30 |
| 2 | 40 | 50 | 60 |
+--+--+--+--+
```
这样就将纵表数据转换为了横表数据。
阅读全文