【发布时间】:2014-10-31 00:42:01
【问题描述】:
我想计算单个表中多个列中NULL 的出现次数。我需要每列的计数,而不是整个表的总数。我非常希望在单个查询中这样做,以避免来回的开销,简化我的应用端代码,并避免多次表扫描。
如何计算每个特定列为NULL 的行数?
目前的想法
-
COUNT显式计算不是NULL的东西,但我可以这样做将NULL反转为not-NULL,反之亦然,以强制COUNT做我想做的事:SELECT COUNT(CASE WHEN my_column IS NULL THEN TRUE ELSE NULL END) FROM my_table;但这真的很难看,尤其是因为我想在同一个查询中的多个列上执行此操作。
NULLIF在输入为NULL时返回NULL,因此没有帮助。
有没有更清洁的方法?
【问题讨论】:
标签: postgresql