繁体   English   中英

Count(table.column)是否不考虑列的空值?

[英]Count(table.column) does not consider the null values of the column?

我想计算列的所有值,而不管其中的NULL值。 我已经试过这个查询。

SELECT COUNT(t1) FROM Bilal b WHERE b.t1 IS NULL 

结果 = 0

t1  t2
1   1
NULL    NULL

SELECT COUNT(t1) FROM Bilal b

结果 = 1

这是已知的行为。

Count(*)将包含NULL

由于您要计数特定的列( SELECT COUNT(t1) ),所以会出现问题。 相反,您可以使用SELECT COUNT(*)SELECT COUNT(1) ,它们都将包含NULL值。 如果您对机械学感兴趣,请阅读此博客文章以了解详细信息。

select count(nvl(t1,0)) from table;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM