select count (1) [count] where flag=1
union all 
select count (1) where flag=2
union all 
select count (1) where flag=3

解决方案 »

  1.   

    SELECT SUM(CASE WHEN FLAG=1 THEN 1 ELSE 0 END) AS F1, SUM(CASE WHEN FLAG=2 THEN 1 ELSE 0 END) AS F2, SUM(CASE WHEN FLAG=3 THEN 1 ELSE 0 END) AS F3
    FROM T 
      

  2.   


    select sum(case when flag=1 then 1 else 0 end) 'flag1_qty',
                sum(case when flag=2 then 1 else 0 end) 'flag2_qty',
                sum(case when flag=3 then 1 else 0 end) 'flag3_qty'
     from [表名]
     where [条件]