我正在尝试将行转换为列。请查看以下示例:
colname | data1 | data2
---------|--------|------------------------------------
a | 1 |
a | 2 |
a | 3 |
b | 4 |
b | 5 |
c | | 6
c | | 7
我希望输出为:
a | b | c
---------|--------|------------------------------------
1 | |
2 | |
3 | |
| 4 |
| 5 |
| | 6
| | 7
有人可以分享您关于如何解决此问题的想法吗?
最佳答案
这并不是将行放入列中。因此,这不是必需的PIVOT。
您只想在某些列中显示值,具体取决于值名称。
CASE WHEN可以用于此。
select
case when colname = 'a' then data1 end as a,
case when colname = 'b' then data1 end as b,
case when colname = 'c' then data2 end as c
from yourtable;
关于mysql - SQL将行转换为列而无聚集或枢轴,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39699356/