SQL检查组是否包含NULL

时间:2012-09-30 11:11:51

标签: sql postgresql

是否有任何函数可以检查组中的列是否包含NULL,或者如何解决这个问题?下面的数据结构示例。

id | value
----------
1  | NULL
1  | 56
2  | 98
2  | 14

结果:

id | value
----------
1  | 1
2  | 0

2 个答案:

答案 0 :(得分:14)

select id, 
       count(*) - count(value) as null_value_count
from your_table
group by id

SQLFiddle demo

答案 1 :(得分:8)

另一种不使用count(value)忽略NULL值的事实:

select id, 
       sum(case when value is null then 1 else 0 end) as null_count
from your_table
group by id;