我想知道如何在MySQL数据库中找到所有的NULL值,例如我想显示所有还没有平均值的用户。
以下是MySQL代码。
SELECT COUNT(average) as num
FROM users
WHERE user_id = '$user_id'
AND average IS_NULL
我想知道如何在MySQL数据库中找到所有的NULL值,例如我想显示所有还没有平均值的用户。
以下是MySQL代码。
SELECT COUNT(average) as num
FROM users
WHERE user_id = '$user_id'
AND average IS_NULL
一种更通用的版本(它不依赖于where子句,从而限制了您的整体结果):
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
这种方法不如其他答案中提出的特定查询好,但它可以用于使用限制where子句不切实际的情况(由于需要其他信息)...
ISNULL()
函数在语法上比使用CASE
简单得多。 - AirSELECT
COUNT(*) as num
FROM
users
WHERE
user_id = '$user_id' AND
average IS NULL
另外,你可以:
Select Count(*) - Count(Average) as NullAverages
From Users
Where user_id = '$user_id'
SELECT COUNT(IF(average IS NULL,1,0))
FROM table;
对我来说,它的效果非常好!
SELECT COUNT(*) AS total, COUNT(field1) AS notNullFields1
FROM table
GROUP BY field5, field6
致敬。
我可能漏掉了MySQL特定的东西,但是在SQL Server中这将会起作用。
SELECT COUNT(*) as num
FROM users
WHERE user_id = '$user_id'
AND average IS NULL