SQL Count 不计算列中的“NULL”
Posted
技术标签:
【中文标题】SQL Count 不计算列中的“NULL”【英文标题】:SQL Count not counting "NULL" in column 【发布时间】:2021-09-15 03:24:15 【问题描述】:我正在学习 MS SQL 并尝试计算在记录表中输入的不等于 actionID(column) 值 21 的用户。下面是查询,但它没有给我预期的结果。它没有考虑 NULL 值。它显示计数为 0,但它应该显示结果为 1。我在 actionID 列字段中有 NULL 值
Select COUNT(*) from db.record where userID ='xyz' AND NOT actionID = 21
【问题讨论】:
【参考方案1】:这是为 MySQL 准备的你需要一个NULL
-safe 比较:
NOT actionID <=> 21
几乎所有与NULL
的比较都返回NULL
。而NOT NULL
仍然是NULL
对于 MS SQL,如下所示使用它
(actionID <> 21 OR actionID is null)
【讨论】:
谢谢!!我们将如何在 MS SQL 中执行它,因为“”给了我们错误。它试图写“is NULL”以进行安全比较,但在查询执行中仍然有错误 @NetworkEngExploringCoding 。 . .您的问题被标记为 mysql,这提供了一个 MySQL 解决方案。 谢谢!它适用于 MySQL。对于 SQL,使用它就像 - AND (actionID != 21 OR actionID is null)以上是关于SQL Count 不计算列中的“NULL”的主要内容,如果未能解决你的问题,请参考以下文章