myCol
------
true
true
true
false
false
null
在上表中,如果我这样做:
select count(*), count(myCol);
I get 6, 5
I get 5
因为它不计算空条目。
我如何计算真值的数量(示例中为 3)?
(这是一种简化,我实际上在计数函数中使用了更复杂的表达式)
编辑摘要:我还想在查询中包含一个普通的 count(*),因此不能使用 where 子句
SELECT COALESCE(sum(CASE WHEN myCol THEN 1 ELSE 0 END),0) FROM <table name>
或者,正如您自己发现的那样:
SELECT count(CASE WHEN myCol THEN 1 END) FROM <table name>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)