学堂 学堂 学堂公众号手机端

在MySQL中,没有内置的UNPIVOT函数来实现数据逆转操作

lewis 2年前 (2023-11-09) 阅读数 4 #技术

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

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

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

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


SELECTid,name,'score1'ASscore_type,score1ASscore FROMtable_name UNIONALL SELECTid,name,'score2'ASscore_type,score2ASscore FROMtable_name UNIONALL SELECTid,name,'score3'ASscore_type,score3ASscore FROMtable_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|

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

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门