How to count NULL values in MySQL?

前端 未结 7 1153
猫巷女王i
猫巷女王i 2021-02-04 03:56

I want to know how can i find all the values that are NULL in the MySQL database for example I\'m trying to display all the users who don\'t have an average yet.

Here i

相关标签:
7条回答
  • 2021-02-04 04:41

    I may be missing something mysql specific but this would work in sql server

    SELECT COUNT(*) as num
    FROM users
    WHERE user_id = '$user_id'
    AND average IS NULL
    
    0 讨论(0)
  • 2021-02-04 04:43

    Also, you can:

    Select Count(*) - Count(Average) as NullAverages
    From Users
    Where user_id = '$user_id' 
    
    0 讨论(0)
  • 2021-02-04 04:43

    A bit late but you can do it in MySQL 5.0.51:

    SELECT COUNT(*) AS total, COUNT(field1) AS notNullFields1
    FROM table
    GROUP BY field5, field6
    

    Regards.

    0 讨论(0)
  • 2021-02-04 04:45

    you're on the right track. Remove '_' from 'IS_NULL' and change 'COUNT(average)' to 'COUNT(1)' and you will have it.

    For more information on working with NULL in MYSQL see http://dev.mysql.com/doc/refman/5.0/en/working-with-null.html

    And for working with IS NULL specifically see

    http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_is-null

    0 讨论(0)
  • 2021-02-04 04:50
    SELECT
        COUNT(*) as num
    FROM
        users
    WHERE
        user_id = '$user_id' AND
        average IS NULL
    
    0 讨论(0)
  • 2021-02-04 04:50

    A more generic version (that doesn't depend on the where clause and hence limits your overall results):

    SELECT 
        SUM(CASE WHEN average IS NULL THEN 1 ELSE 0 END) As null_num, 
        SUM(CASE WHEN average IS NOT NULL THEN 1 ELSE 0 END) AS not_null_num
    FROM users
    

    It's not better then the specific queries presented by other answers here, but it can be used in situations where using a limiting where clause is impractical (due to other information being needed)...

    0 讨论(0)
提交回复
热议问题