在MySQL中,没有内置的UNPIVOT函数来实现数据逆转操作
在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|
这样就实现了将原始表中的列转换为行的操作。
版权声明
本文仅代表作者观点,不代表博信信息网立场。