我有下表
Col_1 Col_2 Col_3 Date
0.1 0.2 0.3 2013-08-13
0.4 0.5 0.6 2013-08-12
我想要以下内容:
Date New Column Value
2013-08-13 Col_1 0.1
2013-08-13 Col_2 0.2
2013-08-13 Col_3 0.3
2013-08-12 Col_1 0.4
2013-08-12 Col_2 0.5
2013-08-12 Col_3 0.6
因此,我不仅要转置表,还要添加一个新列,它告诉我值来自的列名称。我尝试做一个 UNION..但它不起作用:(
谢谢!
最佳答案
你可以这样:
INSERT INTO NEW_TABLE_NAME (Date, `New Column`, Value)
SELECT DATE, 'Col_1', Col_1
FROM OLD_TABLE_NAME
UNION ALL
INSERT INTO NEW_TABLE_NAME (Date, `New Column`, Value)
SELECT DATE, 'Col_2', Col_2
FROM OLD_TABLE_NAME
UNION ALL
INSERT INTO NEW_TABLE_NAME (Date, `New Column`, Value)
SELECT DATE, 'Col_3', Col_3
FROM OLD_TABLE_NAME;
关于mysql - 将列转换为行并创建新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18283706/