COUNT(*) Includes Null Values?

后端 未结 2 953
别跟我提以往
别跟我提以往 2020-12-15 05:40

MSDN documentation states:

COUNT(*) returns the number of items in a group. This includes NULL values and duplicates.

How can

相关标签:
2条回答
  • 2020-12-15 06:17

    You can have a Null value in a row depending on how you do your joins. Be sure you are counting the right field or correcting your joins.

    0 讨论(0)
  • 2020-12-15 06:40

    If you have this table

    Table1:

     Field1    Field2    Field3
     ---------------------------
       1         1         1
      NULL      NULL      NULL
       2         2        NULL
       1         3         1
    

    Then

     SELECT COUNT(*), COUNT(Field1), COUNT(Field2), COUNT(DISTINCT Field3)
     FROM Table1
    

    Output Is:

     COUNT(*) = 4; -- count all rows, even null/duplicates
    
     -- count only rows without null values on that field
     COUNT(Field1) = COUNT(Field2) = 3
    
     COUNT(Field3) = 2 
     COUNT(DISTINCT Field3) = 1 -- Ignore duplicates
    
    0 讨论(0)
提交回复
热议问题