-2
我想获得具有特定功能的行的百分比。对于我使用下面的查询:CASE在COUNT里面,返回0会被计数吗?
select
count(distinct case when a.has_feature="Y" then p.id else 0 end)*100/count(distinct p.id)
FROM products p
JOIN a on a.id=p.id
WHERE 1
这个查询被简化,但我们的目标是让在只有一个查询这一比例,并在a.has_feature="Y"
测试不能在WHERE
条款,因为我还需要的产品没有这个功能。
我的问题是关于第一计数。 case when
将返回p.id
或0.是0计数还是应该使用null
或其他东西,以便当它没有该功能时不计算?
只需尝试一下!要回答你的问题,0会计数,NULL不会。 – fancyPants
在确定之前,我不会尝试它,因为它会运行几个小时,但感谢解释计数为0和空 –
您不必运行此特定查询。一个简单的测试查询可以做。 – fancyPants