将两行合并为两列,第三列与原样相同

时间:2014-11-10 08:28:15

标签: sql oracle pivot

我有这样的SQL输出:

LINE       SIZE      TOT_COUNT  
A           20           113  
A           40             3  
B           20             4  
B           40             2  
C           20           142  
C           40           452  

但我想这样:

LINE       20             40  
A         113              3  
B           4              2  
C         142            452  

注意:这已经是输出,而不是任何表的任何列。

1 个答案:

答案 0 :(得分:2)

select
    line,
    sum(case size when 20 then tot_count end) as "20",  -- use min is the same.
    sum(case size when 40 then tot_count end) as "40"
from 
    your_table
group by
    line

如果第一个输出来自另一个查询,则可以将your_table替换为您的查询作为子查询。