在单个查询中获取列

时间:2012-02-05 13:48:37

标签: sql

我有一张这样的表

   C1    C2  
   1     0   
   1     1   

我希望在一次查询中c1 = 1的行数和c2 = 0的行数而不是单独的查询。

2 个答案:

答案 0 :(得分:2)

select
  sum(case c1 when 1 then 1 else 0 end) Count_c1,
  sum(case c2 when 0 then 1 else 0 end) Count_c2
from YourTable

答案 1 :(得分:1)

您可以使用UNION关键字:

SELECT "ones", COUNT(*) WHERE c1=1
UNOIN
SELECT "zeroes", COUNT(*) WHERE c2=0