WE have below data in oracle database –
col1 col2 Z1 A Z1 B Z2 A Z2 C Z3 A Z4 D
I want count on column two in such a way that –
Ouput –
col2 count A 3 (Z1,Z2,Z3) B 0 (Dont count if A is already present for record) C 0 D 1 (Z4)
Best Regards
Advertisement
Answer
Thanks Guys. But I could do this way –
select count(case when (LISTAGG(col2,'-') WITHIN GROUP (ORDER BY col2)) like '%A%' then 1 else null end) A, count(case when (LISTAGG(col2,'-') WITHIN GROUP (ORDER BY col2)) = 'B' then 1 else null end) B, count(case when (LISTAGG(col2,'-') WITHIN GROUP (ORDER BY col2)) = 'C' then 1 else null end) C, count(case when (LISTAGG(col2,'-') WITHIN GROUP (ORDER BY col2)) = 'D' then 1 else null end) D from T GROUP BY col1
Thanks for your replies