select a.A as name,count(1) as rn from T a group by a.A union all select a.B as name,count(1) as rn from T a group by a.B
select sum(decode(a,1,1,0)) a1 ,sum(decode(b,2,1,0)) b2 from T select sum(case a when 1 then 1 else 0 end) a1 ,sum(case b when 2 then 1 else 0 end) b2 from T
select case when a=1 then 1 when b=2 then 2 else null end a1, count(*) cou from T group by case when a=1 then 1 when b=2 then 2 else null end
union all
select a.B as name,count(1) as rn from T a group by a.B
select sum(case a when 1 then 1 else 0 end) a1 ,sum(case b when 2 then 1 else 0 end) b2 from T
count(*) cou from T
group by case when a=1 then 1 when b=2 then 2 else null end