【发布时间】:2018-10-05 02:43:06
【问题描述】:
我有一个名为category_id 的列,其值可以是数字或空值(每行123 或空值)。我必须使用以下方法选择具有空值的类别 id 的总数 (COUNT):
SELECT COUNT(category_id)
FROM products
WHERE category_id = NULL;
它返回 0(错误值)。
【问题讨论】:
我有一个名为category_id 的列,其值可以是数字或空值(每行123 或空值)。我必须使用以下方法选择具有空值的类别 id 的总数 (COUNT):
SELECT COUNT(category_id)
FROM products
WHERE category_id = NULL;
它返回 0(错误值)。
【问题讨论】:
Count(category_id) 只会计算 category_id 不为空的记录。 为了与 NULL 进行比较,SQL 语法是“IS NULL”,而不是“= NULL”。
计算总使用量:
SELECT COUNT(1) FROM products WHERE category_id IS NULL ;
【讨论】:
只需像这样使用IS NULL 和category_id
SELECT COUNT(category_id)
FROM products
WHERE category_id IS NULL;
【讨论】:
COUNT 是一个聚合函数的例子,你需要使用 GROUP BY 试试这个:
SELECT COUNT(category_id) AS n FROM products WHERE category_id IS NULL GROUP BY category_id
【讨论】:
GROUP BY on.....
试试这个:
SELECT COUNT(category_id) FROM products WHERE category_id IS NULL;
NULL值不能用'='操作符比较,所以用'IS'关键字代替'='
【讨论】:
在 where 子句中使用:category_id IS NULL 而不是 category_id= NULL
【讨论】: