Oracle sql在单列中计算不同值的实例 - 延续

时间:2012-11-06 20:37:42

标签: oracle

这是我发布的早期问题的延续 链接在这里 Oracle sql to count instances of different values in single column

在进一步继续使用数据透视查询时,我正在尝试执行类似

的操作

for col in( 将count_status20作为col20, 将count_status30或Count_status40作为col30, Count_status50为col50) 输入与之前的问题相同。

基本上我在这里尝试将30或40中的状态汇总为一列。

1 个答案:

答案 0 :(得分:1)

试试这样:

select *
from
(
  select tkey, status, 
    decode(status, 30, 30, 40, 30,status) as col
  from tableB b
  left join tableA a
    on a.fkey = b.fkey
) src
pivot
(
  count(status)
  for col in ('20' as Count_Status20, 
              '30' as Count_Status3040,
              '50' as Count_Status50)
) piv;

Here是一个小提琴