【问题标题】:Count(table.column) does not consider the null values of the column?Count(table.column) 不考虑列的空值?
【发布时间】:2015-01-05 12:52:45
【问题描述】:

我想计算列的所有值,而不考虑其中的 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

【问题讨论】:

标签: sql sql-server-2008-r2


【解决方案1】:

这是已知行为。

Count(*) 将包括 NULLS

【讨论】:

    【解决方案2】:

    出现问题是因为您正在计算特定列 (SELECT COUNT(t1))。相反,您可以使用SELECT COUNT(*)SELECT COUNT(1),它们都将包含NULL 值。如果您对机制感兴趣,请阅读this blog post 了解详情。

    【讨论】:

      【解决方案3】:
      select count(nvl(t1,0)) from table;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-16
        • 1970-01-01
        • 2022-01-11
        相关资源
        最近更新 更多