如何在Count()中指定条件?

时间:2015-04-06 06:49:23

标签: php mysql count

我只想计算status=0行 示例a_no列包含status=0,其计数为一个

这是我的查询

select date, count(DISTINCT no_a) as Transaction, 
     CASE when status=0 then count(distinct no_a) end as Success
     from transfer_tx_201503

1 个答案:

答案 0 :(得分:0)

您可以指定计数之外的条件:

select 
    count(distinct no_a) as Transaction,
    count(distinct case status when 0 then no_a else -1 end case) - 1 as Success
from your_table

这应该有效,假设no_a是整数且值-1不是有效值。 您只需将所有具有非零状态的行放在一个存储桶中,然后从计数中减去一个。