如何将2列透视成1行,以第1行作为列标签,将第2行作为值

时间:2019-01-29 14:13:06

标签: oracle pivot pivot-table

我有2列数据,其布局如下:

-------------
|Name|Count |
-------------
|Val1|Val1_2|
|Val2|Val2_2|
|Val3|Val3_2|
|Val4|Val4_2|
|Val5|Val5_2|

但是我不确定如何使用数据透视功能,使其看起来像这样:

------------------------------------
|Val1  |Val2  |Val3  |Val4  |Val5  |
------------------------------------
|Val1_2|Val2_2|Val3_2|Val4_2|Val5_2|

我知道必须使用某种聚合函数,但是我希望val1_2等保持不变。

有什么想法吗?我认为这可能很简单,但是我不太了解。

1 个答案:

答案 0 :(得分:1)

如果只有5列,则可以使用伪造的聚合函数和大小写

      select  min(case when  Name ='Val1' then count end ) Val1
       , min(case when  Name ='Val2' then count end ) Val2
       , min(case when  Name ='Val3' then count end ) Val3
       , min(case when  Name ='Val4' then count end ) Val4
       , min(case when  Name ='Val5' then count end ) Val5 
     from my_table  
相关问题