DB2使用count函数转换列中的行

时间:2014-04-29 23:09:50

标签: sql count db2 pivot

我的查询中有以下结果集

*CDESC*     *LVL1*    
OGC         F02       
OGC         F02       
OGC         F02       
OGC         F03       
OGC         F05       
OGC         F05       
OGC         F05       
OGC         F06       
OGC         F07      
OGC         F08       
OGC         F10          
RC          F01       
RC          F02     
RC          F01       
RC          F03   

我正在尝试进行聚合计数或使用Pivot sql显示如下

*LVL1*      *OGC*   *RC* 
F01        NULL     2
F02       3       1
F03         1       1
F05         3       NULL
F06         1       NULL
F07         1       NULL
F08         1       NULL
F10         1       NULL

1 个答案:

答案 0 :(得分:1)

使用条件聚合:

select lvl1,
       sum(case when cdesc = 'OGC' then 1 else 0 end) as OGC,
       sum(case when cdesc = 'RCC' then 1 else 0 end) as RC
from table t
group by lvl1;