用于从列获取空计数的SQL查询

时间:2015-01-20 11:05:15

标签: sql oracle count

我想生成一个SQL查询来获取特定列中的空值,如

SELECT COUNT (column) AS count 
FROM table 
WHERE column = null ;

这返回0,但是我希望该列中存在多少个空值,如

SELECT COUNT (column) AS count 
FROM table 
WHERE column = 'some value';

返回匹配记录的计数

4 个答案:

答案 0 :(得分:4)

NULL值非常特殊,因为您无法使用=;您必须使用IS NULL代替:

SELECT COUNT (*) AS count FROM table where column IS null ;

这是因为SQL中的NULL评估不等于任何内容,包括其他NULL值。另请注意使用*作为COUNT的参数。

答案 1 :(得分:1)

您可以使用条件sum()

SELECT sum(case when column is null 
                then 1 
                else 0 
           end) AS count 
FROM table

答案 2 :(得分:1)

另一个查询,但确切的答案检查出来

select count(*)-count(column) from table

如果有帮助,请投票检查这个答案

答案 3 :(得分:1)

要获得准确的输出,您也可以使用以下命令 -

SELECT COUNT (*) AS count FROM table where column IS null OR column='';

因为有时只有''不计为NULL。