数据表如下CREATE TABLE T (
A VARCHAR2(10),
B VARCHAR2(10)
)表中数据共3条A    B 
1      
     2
1    2求一条SQL查询出该表内 A为1 或者B为2 的记录分别有多少条

解决方案 »

  1.   

    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
      

  2.   

    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
      

  3.   

    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