温馨提示×

mysql unpivot的使用方法是什么

小亿
188
2024-03-04 11:09:27
栏目: 云计算
亿速云mysql数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

在MySQL中,没有内置的UNPIVOT函数来实现数据逆转操作。但是可以使用UNION ALL语句来实现类似的功能。下面是一个示例:

假设有一个表格包含以下数据:

| id | name | score1 | score2 | score3 |
|----|------|--------|--------|--------|
| 1  | Alice| 80     | 85     | 90     |
| 2  | Bob  | 75     | 70     | 80     |
| 3  | Chris| 90     | 95     | 85     |

要将数据进行逆转,可以使用以下SQL语句:

SELECT id, name, 'score1' AS score_type, score1 AS score
FROM table_name
UNION ALL
SELECT id, name, 'score2' AS score_type, score2 AS score
FROM table_name
UNION ALL
SELECT id, name, 'score3' AS score_type, score3 AS score
FROM table_name

执行以上SQL语句后,会得到如下结果:

| id | name | score_type | score |
|----|------|------------|-------|
| 1  | Alice| score1     | 80    |
| 1  | Alice| score2     | 85    |
| 1  | Alice| score3     | 90    |
| 2  | Bob  | score1     | 75    |
| 2  | Bob  | score2     | 70    |
| 2  | Bob  | score3     | 80    |
| 3  | Chris| score1     | 90    |
| 3  | Chris| score2     | 95    |
| 3  | Chris| score3     | 85    |

这样就实现了将原始表中的列转换为行的操作。

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:mysql unpivot用法是什么

0