mysql - 将 IS NOT NULL 与 COUNT 函数一起使用时得到不正确的结果 - MySQL

标签 mysql count null

我有一个音乐轨道表,其中包含一个长度字段,用于存储每个轨道的长度信息。我正在尝试查询数据库以找出最大轨道长度、最小轨道长度,并且我希望返回列出长度的轨道数量(不为空)。

声明如下:

SELECT MAX(length), MIN(length), COUNT(length)
FROM tracks WHERE length IS NOT NULL;

问题是无论我是否在末尾包含 IS NOT NULL 运算符,COUNT() 返回的值都完全相同。该表有大约 25 个 NULL 条目,所以当我将 NOT NULL 运算符添加到语句末尾时,我肯定会得到 COUNT() 的较低结果吗?

最佳答案

文档说 count 将忽略空列 http://dev.mysql.com/doc/refman/5.7/en/counting-rows.html

包含 where 子句不会产生任何影响。

关于mysql - 将 IS NOT NULL 与 COUNT 函数一起使用时得到不正确的结果 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40952837/

相关文章:

php - 将 SQL 查询逐行输出为 JSON

mysql - DATEDIFF(CURRENT_DATE, updated_at) 作为差异,COUNT(*)

c# - 通过在 C# 中添加空字符串将对象转换为字符串

java - 在 Java 实体中可选地替换可为空的列

c - 空指针不在 C 中保持为空

MySQL - 在 WHERE 子句中使用 SHA2

javascript - 等待它解析promise,然后插入MySQL

mysql - 带有过滤选项的谷歌图表的 MySQL 查询百分比

mysql - 将随机数插入到 MYSQL 中的表中

c - 检查 count-- 在 for 循环中会取消循环吗?